I have seen some time ago people discussing about the new multithreading in Delphi XE and about the fact that Delphi has some \'native\' problems because of the way it implement
TThreadedQueue was introduced in XE.
I find it useful for passing information from worker threads to the main thread or other consumer threads. The last part, having multiple consumer threads, was buggy unfortunately. There was a bug in TMonitor, a class introduced by Delphi 2009, used to synchronize access to the queue in TThreadedQueue.
This has been fixed for XE2. See tthreadedqueue-not-capable-of-multiple-consumers