Reagent async

An asyncronuous multiple producer - single consumer queue.Most usable type of reagent.

Syntax: reagent[`async]

Mostly used as a transport to allow tasks communicate with each other:

o)r: reagent[`async];
o)spawn { react {[x:r] println["task receives: %";x]} };
task receives: 123

Another useful case is use async reagent as a sync primitive to wait some event:

o)barrier: reagent[`async];
o)spawn { barrier["TASK 1"] };
o)println["task % has been spawned";get barrier];
task TASK 1 has been spawned