On a linux system with single cpu core, TThreadPoolServer(csharp) might throw an exception like "Error: could not SetMinThreads in ThreadPool".
According to SetMinThreads description in MSDN:
If you specify a negative number or a number larger than the maximum number of active thread pool threads (obtained using GetMaxThreads), SetMinThreads returns false and does not change either of the minimum values.
The default DEFAULT_MIN_THREADS value is 10, while GetMaxThreads obtains 100 and 4 on a single-cpu computer. This make SetMinThreads function failed.
The number obtained by GetMaxThreads is associated with the number of cpu core.
So I suggest to change the order of SetMinThreads and SetMaxThreads, like: