JuliaLang/julia — pull request #5757 by amitmurthy (2014-02-10 16:34:50+00:00)
Title: RFC: Channels

Considering the discussion in https://github.com/JuliaLang/julia/issues/5511 , this PR implements Channels on top of RemoteRefs.

The channel is a queue of type Any with a size limit. The only operations supported are `put`, `take`, `fetch`, `isready` and `wait`. The calls return immediately if the length is within the limit specified at construction time, else they block. If unspecified, the default Channel size is 1000.

Introducing Channels on top of RemoteRefs (as opposed to treating RemoteRefs itself as a Channel of size 1), allows us to possibly implement other non-Q messaging idioms in the future.

The `remotecll*` functions only work off RemoteRefs.

Channels will allows