java多线程基本概念(一)

线程生命周期


线程生命周期

说明线程工共包含5个状态:

新建状态new:调用线程构造方法创建线程后,线程进入新建状态;

就绪状态runnable:其他线程调start()方法,启动该线程。只有进入就绪状态的线程,才能被cpu调度执行

执行状态running:当线程获取cup权限进行执行

阻塞状态bocked:当线程因为某些原因放弃cpu使用权限,暂时停止运行;阻塞情况分为三种:

1)等待阻塞:当调用对象的wait的方法,让线程等待某项工作完成

2)同步阻塞:当通过synchronized获取同步锁失败(因为同步锁被其他线程占有),进入同步阻塞23

3)其他原因阻塞:当调用线程的sleep()或join()或发出io请求,线程进入阻塞状态;当sleep超时,join等待线程中止或io请求完成线程重新进入就绪状态

死亡状态dead:当线程执行完毕或run方法有异常产生。

该5总状态涉及的内容包括Obejct类,Thread类,synchronized关键字

Obejct类:定义了wait,notify,notifyall等休眠/唤醒函数

Thread类:定义了一系列操作线程的方法;sleep,join等

synchronized关键字:它区分synchronized代码块和synchronized方法;synchronized用于获取对象同步锁

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 5,153评论 0 23
  • 该文章转自:http://blog.csdn.net/evankaka/article/details/44153...
    加来依蓝阅读 7,385评论 3 87
  • Java多线程学习 [-] 一扩展javalangThread类 二实现javalangRunnable接口 三T...
    影驰阅读 2,998评论 1 18
  • 本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。 首先讲...
    李欣阳阅读 2,510评论 1 15
  • 债物通分享 晨起吉祥 债物通的兄弟们,很多人工作感到很累,那是因为身体的能量在泄露,而泄露的原因就是他们没有梦想,...
    债物通阅读 140评论 0 0