线程sleep 会不会耗内存

2025-03-07 07:19:17
推荐回答(4个)
回答1:

必须的,代码中就是一坨粑粑,也要占内存,不管是代码内存,还是堆栈内存等。

线程SLEEP后,如果不占用内存,怎么能恢复之前的状态?就好比人睡觉,就不消耗能量了?

线程占用内存会有:代码内存,堆栈内存,堆内存

回答2:

个人理解不会消耗内存,只是让线程出让占用的CPU,供其他的线程占用CPU。进程是系统进行资源分配和调度的一个独立单位,线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

回答3:

对于同一个进程的多个线程而言,它们之间是共享同一内存空间的,虽
然每个线程都有自己的堆栈,但它们使用同一块堆。你可以把线程理解为一个函数或过程,它可以有自己的局部变量,而用new分配的变量相当于全局变量,可供
同一进程的其它线程共享,所以线程退出后,应及时释放,否则这段空间就一直被你占用着。

回答4:

线程休眠以后只要不唤醒或者休眠时间到了一直在等待,是不会消耗内存的