1-暫停thread.sleep(1000); 表示當前執行緒暫停1000毫秒,但不會釋放資源,其他執行緒不受影響
thread.sleep(1000);會丟擲interruptedexception 中斷異常,因為當前執行緒sleep的時候,有可能被停止,這時就會丟擲 interruptedexception
2-join,該執行緒加入主線程,只有該執行緒結束時,才會向下走
是說如果之前t1.start,t2.start,try t1.join,兩個都start,但是萬一t2中有個停止,有個if讓他停止了,而喚醒resume再join之後,就只有等t1完了才能執行到那行**讓t2繼續
並且t.join,既然之前t在sleep,其他的也得等到,一直到t執行緒結束
3-執行緒優先順序,讓執行緒的競爭cpu的能力改變
t1.setpriority(thread.max_priority);
t2.setpriority(thread.min_priority);
4-臨時暫停
thread t2= new thread() }};
5-守護執行緒
相當於後勤,當全部都守護了這個程序就沒了
t1.setdaemon(
true
);
t1.start();
執行緒常見方法
sleep 當前執行緒暫停 join 將該執行緒加入到當前執行緒中,預設是main setpriority 設定優先順序 yield 臨時暫停 setdaemon 守護執行緒 讓該執行緒每執行一次就暫停一秒 package com.thread.thread4 public class testth...
Linux下執行緒同步的幾種常見方法
linux下提供了多種方式來處理執行緒同步,最常用的是互斥鎖 條件變數和訊號量。一 互斥鎖 mutex 鎖機制是同一時刻只允許乙個執行緒執行乙個關鍵部分的 1.初始化鎖 int pthread mutex init pthread mutex t mutex,const pthread mutex ...
常見執行緒池問題
什麼是執行緒池?執行緒池是一種多執行緒處理形式,處理過程中將任務提交到執行緒池,任務的執行交由執行緒池來管理。如果每個請求都建立乙個執行緒去處理,那麼伺服器的資源很快就會被耗盡,使用執行緒池可以減少建立和銷毀執行緒的次數,每個工作執行緒都可以被重複利用,可執行多個任務。為什麼要使用執行緒池?建立執行...