文档章节

Thread

脑丨残
 脑丨残
发布于 2017/05/23 22:30
字数 332
阅读 8
收藏 0

线程

线程

  • 操作系统调度的最小单元,线程有自己独立的计数器,堆栈和局部变量表,并且能够访问共享的内存变量。

线程的状态

  • NEW 被创建,没有调用start();
  • RUNABLE 运行状态,Java线程将操作系统中就绪和正在运行2种状态笼统的称作运行中
  • BLOCKED 阻塞状态,表示线程阻塞于锁
  • WAITING 等待状态,表示线程进入等待状态,进入该状态表示当前线程需要等待其他线程做出一些特定动作(通知或中断)
  • TIME_WAITING 超时等待状态,该状态不同于WAITING,它是可以在指定时间内自行返回的。
  • TERMINATED 终止状态,表示当前线程已经执行完毕。

tips

  • synchronized 用jstack打出日志,线程处于BLOCKED状态,而Lock接口的锁会处于等待状态,因为concurrnet包中Lock实现了LockSupport类中的相关方法。详情见后

daemon 线程

theadlocal

  • 线程变量,一Threadlocal对象为键,任意对象为值的存储结构,这个结构被附带在线程上,每个线程可以根据一个Theadlocal对象查询到绑定在这个线程上的一个值。
  • 举例,同一线程,可跨方法或类共用线程变量。

© 著作权归作者所有

共有 人打赏支持
上一篇: Thread.ThreadPool
下一篇: Thread.ThreadGroup
脑丨残
粉丝 8
博文 60
码字总数 23267
作品 0
西安
私信 提问

暂无文章

String转成JSON的实现

String转成JSON 这个依赖很重要,我们将围绕fastjson中的JSONObject这个类来谈转换 欢迎工作一到八年的Java工程师朋友们加入Java高级交流:854630135 本群提供免费的学习指导 架构资料 以及免...

编程SHA
29分钟前
1
0
详解Object.values(),Object.keys(),Object.entries(),Object.create(),includes()

(1)Object.keys() // 返回数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名。 eg:var obj = {a:1,b:'gy'} Object.keys(obj) // ['a','b'] (2)...

JamesView
53分钟前
2
0
SpringBoot中Mybatis打印sql

application.properties中添加 logging.level.com.example.demo.dao=debug com.example.demo.dao 是对应xml中相应interface层...

writeademo
54分钟前
2
0
Git —— 创建版本库和提交回退版本

二、 创建版本库 版本库又叫做仓库,简单理解就是一个目录,这个目录里面所有的文件都可以被Git管理起来,每个文件的修改、删除,Git都可以跟踪,便于追踪历史与还原。找到一个合适的位置,创...

lwenhao
今天
4
0
guava cache使用介绍

今天在项目中发现大量使用guava cache提供缓存,觉得不错。 jvm堆大小为5G /** * * 占用JVM内存,内部数据结构类似于ConcurrentHashMap。因为JVM堆大小的限制,guava cac...

jack_peng
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部