java线程之一(基础知识总结)

目录

1、线程的概念 

2、创建线程的方法 

3、线程的状态及转换 

4、线程的主要方法

-----------------------------------------------------------------------------------------------------------------


1、线程的概念

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

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

2、创建线程的方法

1 继承Thread类

2  实现Runnable接口

3、线程的状态及转换


4、线程的主要方法

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线程之一(基础知识总结))