Error creating thread

2012-01-13 Thread exec
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.


Re: Error creating thread

2012-01-13 Thread H. S. Teoh
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


Re: Error creating thread

2012-01-13 Thread Jonathan M Davis
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


Re: Error creating thread

2012-01-13 Thread exec
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.