If we're going to support multiple platforms, it would be good to ensure that we have the same behavior on all platforms as much as possible.
On macOS, the stack size of threads created that are not the main thread is much smaller. We can introduce an abstraction for threads across all platforms that would address this issue and provide a default stack size on all platforms.
Some useful links and references:
https://en.cppreference.com/w/cpp/thread/thread/native_handle
https://www.boost.org/doc/libs/1_82_0/doc/html/thread/thread_management.html
https://github.com/official-stockfish/Stockfish/blob/d99942f25449789de78c9d36e3dcb67d4eb04e98/src/thread_win32_osx.h#L30
If we're going to support multiple platforms, it would be good to ensure that we have the same behavior on all platforms as much as possible.
On macOS, the stack size of threads created that are not the main thread is much smaller. We can introduce an abstraction for threads across all platforms that would address this issue and provide a default stack size on all platforms.
Some useful links and references:
https://en.cppreference.com/w/cpp/thread/thread/native_handle
https://www.boost.org/doc/libs/1_82_0/doc/html/thread/thread_management.html
https://github.com/official-stockfish/Stockfish/blob/d99942f25449789de78c9d36e3dcb67d4eb04e98/src/thread_win32_osx.h#L30