一.執行緒
多個執行緒處理任務
start();
執行多個並交替執行
run();
執行主線程一條路徑
sleep();
休眠狀態,以毫秒為單位
《變數名》.setpriority(thread.max_priority);
設定執行緒的優先順序max=10,min=1,還有個為5
thread.yield();
把資料禮讓出去給其他執行緒,不一定會禮讓成功
join();
讓該執行緒執行
volatile
//可見性,用於執行緒修飾符,拿到改變後得值
1.繼承thread類
編寫簡單,可直接操作執行緒
適用於單繼承
public class mythread extends thread
thread.sleep(500);
//休眠狀態,500毫秒=0.5秒
system.out.println(thread.currentthread().getname()+":"+i);
//get出線程名稱}}
}//測試類
public class text
}2.實現runnable介面
避免單繼承侷限性
便於共享資源
//建立類
public class runthread
implements runnable}}
//實現類
public class textrun
}3.synchronized(同步方法)
不使用synchronized控制線程訪問可能會造成同時執行的情況,
可以使用
synchronized修飾返回型別或者在內容使用
第一種:修改修飾符為public
synchronized void sale
第二種:在條件下面使用
synchronized (this){},{}要括住需要同步的部分
public
synchronized void sale()
try catch (interruptedexception e)
system.out.println(thread.currentthread().getname()+"搶到第"+num+"票,剩餘"+count+"張票");} }
public void sale1()
if (count<-0)
try catch (interruptedexception e)
system.out.println(thread.currentthread().getname()+"搶到第"+num+"票,剩餘"+count+"張票");} }
}
Java三章學習內容(序列化及反序列化)
一.序列化及反序列化 輸入或者輸出相應的object型別,把object型別型別輸出到文字或則把object型別輸入到控制台 物件類必須實現serializable介面 public class student implements serializable 參考 oo.writeobject st...
GPU之cuda學習第三章內容總結
gup高效能程式設計cuda實戰 第三章 1.將cpu以及系統的記憶體稱為主機,而將gpu以及其記憶體稱為裝置。2.cuda c為標準c增加的 global 修飾符,這個修飾符告訴編譯器,函式應該編譯為裝置而不是主機上執行。3.函式kernel 將被交給編譯裝置 編譯器,而main 函式將被交給主機...
第三章執行緒間通訊
我看書是邊看邊記錄重點,所以可能內容會有些不通順,但是肯定是按照書中記錄的順序來進行記錄的。首先介紹等待 通知機制。第一種方式是使用sleep while true 這種方式來進行,但是因為while迴圈一直跑會非常浪費cpu資源,所以雖然可以實現等待 通知,但是這種方式不太好。第二種方式就是wai...