相关线程的基本方法,都会影响Java线程状态的变化,常见的Java线程方法有wait、notify、notifyAll、sleep、join、yield等。
1. wait
线程等待方法
调用wait方法后,线程会释放同步锁,线程只有等待其他线程通知或者其他线程中断后才能,重新启动执行。
2.notify
线程唤起
wait等待中的线程,可以通过notify唤起。
3.notifyAll
线程唤起
wait等待中的线程,可以通过notify唤起所有线程。
4.sleep
线程休眠
当前线程处于休眠状态,在这个过程中,不释放资源锁,这个也是和wait方法区别的地方。
5.join
线程加入
join用于线程加入,当一个线程执行过程中,需要另外一个线程的介入,当前线程转为阻塞状态,另一个线程启动,当另外一个线程结束时,当前线程由阻塞转为就绪状态。
6.yield
线程让步
调用yield方法后,线程会让出CPU执行时间片,与其他线程一起竞争CPU时间片,一般情况下,优先级高的线程优先获取时间片。
线程终止的方法
1.定义状态标志位
定义标志变量,用标志位控制线程
2.挂起线程
阻塞状态下,通过Interrupt挂起抛出异常来停止线程
3.停止线程
使用stop方法停止线程,会释放掉所有加锁的数据,导致可能产生一些未知错误。
网友评论