A comment to another of my questions says that I can only run \"so many\" threads concurrently, a notion which I have seen elsewhere.
As a threading novice, how can
Each thread consumes more memory (kernel stack, thread environment block, thread-local, stack....). AFAIK there are no explicit limit in Windows, therefore the constrain will be memory (probably the stack for each thread).
In Linux threads are more like processes (with shared memory) and you're constrained by:
cat /proc/sys/kernel/threads-max