Groups 166 of 99+ julia-users › Functionality of put!, take!, and Channels 3 posts by 1 author michael Mar 8 I'm fairly new to parallel processing but I'm trying to use Channels in a way I think is consistent with the documentation but I may be misinterpreting it. I've explained in more detail in a StackOverflow post but essentially what I'm trying to do is have an integer variable that several processes can access and, if one returns an integer smaller than that variable, can update. The general approach is something like this: x Channel Int64 1 put! x,n everywhere function f item,chan going true count 0 while going going false perform some operations if count fetch chan && !conditions_met conditions_met checks the other termination conditions going true count + 1 end end count + 1 if count fetch chan take! chan put! chan,count end return count end y parallel min for i in collection f i,x end Am I correct in my logic? Is this something I should be able to do? michael Mar 10 At the suggestion of axsk I tried this again but using a SharedArray instead of a channel and it seems to be working now. I am curious as to why my approach didn't work, if anyone cares to explain. I'm on v0.4.3 michael Mar 11 Going off of an answer on StackOverflow using RemoteRef instead of Channel works as well. The answerer points out the reason why the latter doesn't work.