Thread overview
Error creating thread
Jan 13, 2012
exec
Jan 13, 2012
H. S. Teoh
Jan 13, 2012
Jonathan M Davis
Jan 13, 2012
exec
January 13, 2012
I'm currently fiddling around with some stuff, and I was curious how well thousands of threads run simultaneously.
The problem now is, that I'm often running into the following exception:
core.thread.ThreadException@src\core\thread.d(817): Error creating thread

Here's my test program: http://pastie.org/private/qqkvbxxkkn7mw9gapqwkg

It only seems to happen with >1000 threads, and I'm seriously wondering what's the cause of this.
January 13, 2012
On Fri, Jan 13, 2012 at 08:42:51PM +0100, exec wrote:
> I'm currently fiddling around with some stuff, and I was curious how
> well thousands of threads run simultaneously.
> The problem now is, that I'm often running into the following
> exception:
> core.thread.ThreadException@src\core\thread.d(817): Error creating
> thread
> 
> Here's my test program: http://pastie.org/private/qqkvbxxkkn7mw9gapqwkg
> 
> It only seems to happen with >1000 threads, and I'm seriously wondering what's the cause of this.
[...]

There may be a system-defined limit on the number of threads permitted per process.


--T
January 13, 2012
On Friday, January 13, 2012 11:52:00 H. S. Teoh wrote:
> On Fri, Jan 13, 2012 at 08:42:51PM +0100, exec wrote:
> > I'm currently fiddling around with some stuff, and I was curious how
> > well thousands of threads run simultaneously.
> > The problem now is, that I'm often running into the following
> > exception:
> > core.thread.ThreadException@src\core\thread.d(817): Error creating
> > thread
> > 
> > Here's my test program: http://pastie.org/private/qqkvbxxkkn7mw9gapqwkg
> > 
> > It only seems to happen with >1000 threads, and I'm seriously wondering what's the cause of this.
> 
> [...]
> 
> There may be a system-defined limit on the number of threads permitted per process.

Yeah. You can have user-defined limits too. IIRC, on Linux, the default thread limit per user is 1024 threads, whereas the system limit is over 60,000. The limits can be tweaked if you need to though. I assume that the situation is similar on Windows, but I don't know.

- Jonathan M Davis
January 13, 2012
On Friday, 13 January 2012 at 20:02:21 UTC, Jonathan M Davis wrote:
> Yeah. You can have user-defined limits too. IIRC, on Linux, the default thread limit per user is 1024 threads, whereas the system limit is over 60,000. The limits can be tweaked if you need to though. I assume that the situation is similar on Windows, but I don't know.
>
> - Jonathan M Davis

Ah, good to know. Thanks for the info.