除非一台計算機有多個cpu(如雙核),否則是不會真正的執行兩個以上的程式的。但是如果是那樣我們為什麼可以同時執行多個程式呢?
這就是多執行緒的作用了,乙個程序是由多個執行緒組成的,一台計算機可以同時執行多個不同程序的執行緒,而不是乙個完整的程序。
多執行緒主要有兩個優勢:
1.提高介面程式的響應速度
2.充分利用系統資源
在我們的os裡,
程序是資源分配的最小單位
執行緒是cpu排程的最小單位
1、繼承thread
建立: a extends thread
在a中實現run()
啟動:利用繼承自thread 的strart() 方法
a a = new a();
a.start();
2、實現runnable介面
建立: a implements runnable
在a中實現run()
啟動: 以a的物件為thread的建構函式的引數建立thread物件
並且利用它的start()方法排程啟動執行緒
a a = new a();
thread b = new thread(a);
b.start();
3、利用timer timertask
建立:建立timertask的子類,並實現run()方法得到時鐘器任務類
mytimertask extends timertask
}啟動:建立時鐘器timer物件
利用時鐘器物件的schedule()方法啟動執行緒任務
timer timer = new timer();
timer.schedule(new mytimertask(), ....,...);
多執行緒學習心得
除非一台計算機有多個cpu 如雙核 否則是不會真正的執行兩個以上的程式的。但是如果是那樣我們為什麼可以同時執行多個程式呢?這就是多執行緒的作用了,乙個程序是由多個執行緒組成的,一台計算機可以同時執行多個不同程序的執行緒,而不是乙個完整的程序。多執行緒主要有兩個優勢 1.提高介面程式的響應速度 2.充...
多執行緒的學習心得
1.synchronized的三種應用方式 1 修飾例項方法,作用於當前例項加鎖,進入同步 前要獲得當前例項的鎖 2 修飾靜態方法,作用於當前類物件加鎖,進入同步 前要獲得當前類物件的鎖 3 修飾 塊,指定加鎖物件,對給定物件加鎖,進入同步 庫前要獲得給定物件的鎖。synchronized修飾例項方...
C C 多執行緒的學習心得總結
個人覺得在學習多執行緒程式設計之前最好先了解程序和執行緒的關係,然後在學習執行緒工作方式的過程中動手寫個 我是從抄開始的 多執行緒的小程式,會對學習多執行緒有很大的幫助,否則只有理論是很抽象的.在學習多執行緒程式設計之前,必須先知道什麼是 執行緒函式,執行緒函式就是另乙個執行緒的入口函式.預設情況下...