On Jan 15, 2009, at 9:26 AM, bOR_ wrote:

I think I know when to use one and when to use the other, but the
extra clarification doesn't hurt. However, what happens if you get it
wrong? use send where you should have used send-off, and visa versa? I
would like to know what they do differently.

There are two pools of threads servicing agent actions. The send pool is fixed in size and based on the number of available cores. The send- off pool is variable in size and grows as needed to accommodate the largest number of simultaneous pending send-off calls that your program produces.

If you use send-off when you could have used send, your send-off thread pool may grow larger than it needed to grow.

If you use send when you should have used send-off, other actions sent to other agents may be delayed. Where the expected to run very soon, they may now have to wait behind a blocking operation which could easily increase the wait time from tens of microseconds or less to tens of milliseconds or more--a huge factor.

--Steve

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to