如果count++是一个耗时操作则会出现内存溢出错误
来源:1-3 并发编程初体验
![](http://img1.sycdn.imooc.com/user/533e51840001ca2502000200-100-100.jpg)
kenja
2018-06-29
我尝试着设置信号量为500,总请求次数为5000,然后在add()方法里休眠100毫秒,这样运行起来后导致了内存溢出,我猜测这个信号量设置后如果有超过信号量的请求进来,就会导致内存溢出,望老师解惑
写回答
1回答
-
你好,并不是你猜测的那样,这里因为有sleep存在,导致同一时间是有大量线程存在的,而每个线程都要占申请相应的内存空间和资源,这时候就可能出现操作系统已经无法提供足够的内存和资源了,同时还有一种可能,就是操作系统设置了应用创建线程的最大数量,并且已经达到了最大允许数量
012018-06-29
相似问题