in reply to multiple threads with different "timers"
2MB per thread? Ouch. So much for 'lightweight processes'.
You could have one thread run on a timer set to the minimum granularity for your needs and then two or three "worker" threads. The timer thread would have a table identifying the tasks to be performed. When a task needs doing, it dispatches the information required to do the task to one of the worker threads and then retrieves and maintains the information gathered. The number of worker threads would be determined by your needs for timeliness of dispatch and the likelihood of task timings clashing. You could set this up so that you start with a single worker and spawn another when the need arises. You should fairly rapidly see how many you actually need.
Generally it better to pool threads this way than to have themm sitting around idle most of the time. Its also inefficient to destroy threads if you later need to re-create them.
Caveat: I haven't made any use of Perl's threads yet. These are general guidelines from other threaded systems I have used.
Okay you lot, get your wings on the left, halos on the right. It's one size fits all, and "No!", you can't have a different color.
Pick up your cloud down the end and "Yes" if you get allocated a grey one they are a bit damp under foot, but someone has to get them.
Get used to the wings fast cos its an 8 hour day...unless the Govenor calls for a cyclone or hurricane, in which case 16 hour shifts are mandatory.
Just be grateful that you arrived just as the tornado season finished. Them buggers are real work.
|
|---|