in reply to Re^2: Global objects?
in thread Global objects?
If this is an exercise (which is a laudable goal), I would approach using the threads differently.
Avoid shared variables unless absolutely necessary. The only thing the threads need to be told is when to quit. You can pass that information using a Thread::Queue. Any data collected by the thread can be returned by the same mechanism. Working thread code using Queues, is available here.
Each thread would read the queue in NON-BLOCKING mode, and quit if a message is received.
The main thread would queue in THREADCOUNT messages, when it was time to quit.
You also had additional requirements (in a separate post). If thresholds are breached, you can use the same thread to communicate the breach back to the main thread. That would then perform the appropriate action. This way, the thread code can be clean, and minimal.
I would also suggest you let perl read the files, instead of doing "CAT".
"How many times do I have to tell you again and again .. not to be repetitive?"
|
|---|