码迷,mamicode.com
首页 > 编程语言 > 详细

java线程基础

时间:2019-12-01 14:09:22      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:多个   jpg   线程   线程等待   指定   无限   放弃   一起   image   

一 、线程的概念

线程:进程中一个单一顺序的控制流,即执行一个任务先后顺序的过程 。

多线程:一个进程中创建多个控制流,他们之间可能有联系,也可能没有联系。类似于一条路上可以分出多条路,他们有的会交叉,有的也没有交叉。

二、创建线程的方法

1 继承Thread类

2 实现Runnable接口

三 、线程的状态及转换

技术图片

技术图片

四、线程的主要方法

start()

启动一个线程。

run()

线程中运行的程序。

yield()

让当前线程暂时放弃CPU资源和其他线程一起竞争CPU,有可能出现刚放弃就又获得了cpu;

sleep( long millis )

让当前线程退出CPU指定时长,但是不会释放锁,会使线程进入TIMED_WAITING状态,休眠时间过后重新回到RUNNABLE状态;

作用:定时执行任务;

wait()

使当前线程等待另一个线程调用notify或者notifyAll;

让线程退出CPU,且释放锁,使线程无限期等待进入WAITING状态,直到获得通知;

使用前必须加锁

作用:线程间通信;

notify()

唤醒一个因wait()方法处于WAITING状态的线程重新进入RUNNABLE状态,不释放锁

使用前必须加锁

作用:线程间通信

notifyAll()

唤醒所有因wait()方法处于WAITING状态的线程重新进入RUNNABLE状态,不释放锁

使用前必须加锁

作用:线程间通信

join() 、 join(time)

使线程等待另一个线程完成(或者等待固定时长)再继续执行,会使线程进入WAITING,会释放锁(内部通过wait()方法实现)

作用:线程间通信,等待另一个线程执行完成

 

java线程基础

标签:多个   jpg   线程   线程等待   指定   无限   放弃   一起   image   

原文地址:https://www.cnblogs.com/suchmenoneeded/p/11965577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!