最近我在比较OmniThreadLibrary和.NET中的ThreadPool,发现Omni的最大线程数限制更多,只允许60个,而.NET 4.0可以达到32768个。
为什么会有这样的限制呢?
最近我在比较OmniThreadLibrary和.NET中的ThreadPool,发现Omni的最大线程数限制更多,只允许60个,而.NET 4.0可以达到32768个。
为什么会有这样的限制呢?
[OtlTaskControl]TOmniTaskExecutor.WaitForEvent
中的MsgWaitForMultipleObjectsEx,该函数具有此限制。如果确实需要运行超过60个并发线程的任务池,则可以绕过此限制。FD_SETSIZE = 1024
更改为其他值。CMaxConcurrentWorkers = 1024;
更改为其他值。