【Java 多线程并发】线程的基本方法

线程相关的基本方法有 wait,notify,notifyAll,sleep,join,yield 等。

1.线程等待(wait)

调用该方法的线程进入 WAITING 状态,只有等待另外线程的通知或被中断才会返回,需要注意的是调用 wait() 方法后,会释放对象的锁。因此,wait 方法一般用在同步方法或同步代码块中。

2.线程睡眠(sleep)

sleep 导致当前线程休眠,与 wait 方法不同的是 sleep 不会释放当前占有的锁,sleep(long)会导致线程进入 TIMED-WATING 状态,而 wait() 方法会导致当前线程进入 WATING 状态

3.线程让步(yield)

yield 会使当前线程让出 CPU 执行时间片,与其他线程一起重新竞争 CPU 时间片。一般情况下,优先级高的线程有更大的可能性成功竞争得到 CPU 时间片,但这又不是绝对的,有的操作系统对线程优先级并不敏感。

4.线程中断(interrupt)

中断一个线程,其本意是给这个线程一个通知信号,会影响这个线程内

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章