From what I understand / can see your current multi-threading implementation is flawed. It appears you want to multi-thread sending data to servers, however for each server you want to send the data serially. At the moment, it looks like your implementation is to work through the servers serially and multi-thread the data being copied on each server
This is Not Good and using Thread::Queue won't solve your problem. You need to re-address your threading model. In fact, I would suggest you rebuild your application without using threading - Once its working, then add Thread::Queue to queue your list of servers, then add threads (with a static pool of threads) to do the work for each server.
Finally, you get the Free to wrong pool error because something you are doing (probably a library you are loading) is not thread safe. This can cause all sorts of problems, though there are potential workarounds (such as require'ing affected libraries after threads have been created, or only within the threads that need them).
In reply to Re: Queuing in multithread context
by SimonPratt
in thread Queuing in multithread context
by Hardin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |