A Factor instance runs in a single thread. Blocking operations are
done either using non blocking sockets or similar async i/o methods.
Task switching occurs on i/o wait or explicit yielding. APIs like
ZeroMQ must be wrapped in Factor such that they use the non-block
functionality of that API. In the case of ZeroMQ you would use the
functionality that allows getting a file handle you can use
select/epoll on. You would use this in factor to suspend the factor
thread until activity on the file handle occurs at which point the
thread would wake up and continue.

-- 
http://www.bluishcoder.co.nz

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to