Re: Using objects that manage threads via std.concurrency

2013-02-12 Thread FG
On 2013-02-12 12:14, monarch_dodra wrote: For one thing, "MessageBox" is private. Unnecessarily hidden, because, from what I can see from a fast look at the sources, there is no implicit requirement for there to be only one MessageBox per thread. Maybe we're getting somewhere and this will be

Re: Using objects that manage threads via std.concurrency

2013-02-12 Thread monarch_dodra
On Tuesday, 12 February 2013 at 10:08:14 UTC, FG wrote: On 2013-02-12 07:58, monarch_dodra wrote: I think I didn't explain myself very well. I have my single "master" thread which has a "thread-global" mailbox, but I have 3 different objects that are sharing that mailbox. OK, I finally get w

Re: Using objects that manage threads via std.concurrency

2013-02-12 Thread FG
On 2013-02-12 07:58, monarch_dodra wrote: I think I didn't explain myself very well. I have my single "master" thread which has a "thread-global" mailbox, but I have 3 different objects that are sharing that mailbox. OK, I finally get what you are saying. You need to create a mailbox and a uniq

Re: Using objects that manage threads via std.concurrency

2013-02-12 Thread monarch_dodra
On Tuesday, 12 February 2013 at 07:07:21 UTC, Jonathan M Davis wrote: Which I don't think was ever really intended. That doesn't mean that it's unreasonable, but I think that it was always the idea that a particular thread had a particular job, in which case, you wouldn't generally be trying to

Re: Using objects that manage threads via std.concurrency

2013-02-11 Thread Jonathan M Davis
On Tuesday, February 12, 2013 07:58:04 monarch_dodra wrote: > How can I get my 3 managers to co-exist, when they are all > sharing the same box? How can I make sure the workers are sending > their messages to the correct manager? By making it so that their receiving functions take unique types. If

Re: Using objects that manage threads via std.concurrency

2013-02-11 Thread monarch_dodra
On Tuesday, 12 February 2013 at 06:29:22 UTC, Ali Çehreli wrote: On 02/11/2013 01:37 PM, monarch_dodra wrote: > What should a manager do if it > calls "receive", and notices the message wasn't meant for him? Threads receive their own messages. If there is a specific receiver of a message, then

Re: Using objects that manage threads via std.concurrency

2013-02-11 Thread monarch_dodra
On Tuesday, 12 February 2013 at 00:09:40 UTC, FG wrote: On 2013-02-11 22:37, monarch_dodra wrote: Basically, I can't help but feel the thing has an hopelessly thread-global "mailbox" approach to the problem. This is all fine and dandy if there is only a single "canal" of communication between t

Re: Using objects that manage threads via std.concurrency

2013-02-11 Thread Ali Çehreli
On 02/11/2013 01:37 PM, monarch_dodra wrote: > What should a manager do if it > calls "receive", and notices the message wasn't meant for him? Threads receive their own messages. If there is a specific receiver of a message, then the child sends it to that receiver. As FG said, every thread ha

Re: Using objects that manage threads via std.concurrency

2013-02-11 Thread FG
On 2013-02-11 22:37, monarch_dodra wrote: Basically, I can't help but feel the thing has an hopelessly thread-global "mailbox" approach to the problem. This is all fine and dandy if there is only a single "canal" of communication between the master and the child/children. What thread-global? Ev

Using objects that manage threads via std.concurrency

2013-02-11 Thread monarch_dodra
I've been trying out std.concurrency, and it's MPI, and found it very easy to use. It has been working well in most of my toy programs so far, but I see a HUGE glaring flaw with it. I mean: SHOWSTOPPER. Basically, I can't help but feel the thing has an hopelessly thread-global "mailbox" appro