线程sleep 会不会耗内存
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程sleep 会不会耗内存相关的知识,希望对你有一定的参考价值。
必须的,代码中就是一坨粑粑,也要占内存,不管是代码内存,还是堆栈内存等。线程SLEEP后,如果不占用内存,怎么能恢复之前的状态?就好比人睡觉,就不消耗能量了?
线程占用内存会有:代码内存,堆栈内存,堆内存 参考技术A 个人理解不会消耗内存,只是让线程出让占用的CPU,供其他的线程占用CPU。进程是系统进行资源分配和调度的一个独立单位,线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
sleep和wait的区别
sleep、wat都会暂停当前的线程。
sleep不会释放锁,所以线程会进入阻塞态。
wait会释放锁,线程进入等待队列。notify 之后,线程会进入锁池状态。
sleep 让线程从 【running】 -> 【阻塞态】 时间结束/interrupt -> 【runnable】
wait 让线程从 【running】 -> 【等待队列】notify -> 【锁池】 -> 【runnable】
以上是关于线程sleep 会不会耗内存的主要内容,如果未能解决你的问题,请参考以下文章