Author: h.mohri
When considering migration from old C++Builder 10.2 Tokyo bcc32 project.
You can use functions such as TThread::CreateAnonymousThread() and TTask to improve performance.
In addition to TCriticalSection, you can also use System.TMonitor which supports multiple devices.
I will show you how to program bcc32 project using the above method.
TQueue<String> is created in Delphi.
TQueue<T> is in System::Generics::Collections.
To use TQueue<String>, describe it in Delphi as follows.
[crayon-69216b0c9a843768188342/]
You can now use TQueue__1<System::UnicodeString>.
Create a class to run in the interior of the TTask.
[crayon-69216b0c9a848649484701/]
Actually executed is void __fastcall Invoke(){}.
The internal in the task memory each other will use the System::TMonitor::Enter(f_mutex_); so as not to conflict.
It is a class that creates many TTasks.
We have created and stored many TTasks in std::vector<_di_ITask>.
[crayon-69216b0c9a84a093278033/]
Using TThread::CreateAnonymousThread() etc., the design method as shown below is also possible.

