线程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 会不会耗内存的主要内容,如果未能解决你的问题,请参考以下文章

mysql耗内存吗?应该怎么处理?

258.protobuf 有多耗内存?

揭秘池化技术--内存池的实现

linux查看进程cpu内存

第一章:node.js简述

并发负载压力测试