线程sleep占用资源情况解析

线程sleep占用资源情况解析

开启1000个线程后(运行中),如果有线程sleep了,还能不能开启新的线程???没太明白你问的什么,如果你是线程池或者什么设定了只能有1000线程,那线程sleep之后只能等待这个线程唤醒之后,执行结束,如果你没有固定只能有1000线程,而是你电脑只能跑1000,你非要在线程睡眠的时候,再开一些线程,搞1001个,1002个,你可以试一下,我没试过

线程sleep之后有锁不会释放锁,其他线程要写执行得等着,sleep()使当前线程进入停滞状态(阻塞当前线程),让出CUP的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会。所以不会占用cpu。时间到了会正常返回,线程处于就绪状态,然后参与cpu调度,获取到cpu资源之后就可以运行。

相关推荐