Yes, a blocking queue would be a very good way to go. You can have your log processing thread check to see if there's anything on the queue, and if so, pull it off and process it. Other threads can...