黑馬程式設計師 多執行緒

2021-06-22 07:29:35 字數 1790 閱讀 4180

---------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------

多執行緒有兩種方式:1,繼承thread 2實現乙個介面runnable。

第一種方式步驟: 

1,定義類繼承thread類; 

2,目的是複寫run方法,將要讓執行緒執行的**都儲存到run方法中; 

3,通過建立thread類的子類物件,建立執行緒

4,呼叫執行緒的start方法,開啟執行緒,並執行run方法。 

/*class threadtest

}class printthread extends thread

public void run() }

}*/class printthread implements runnable

catch(exception e){}

system.out.println(thread.currentthread().getname()+" tick="+tick--);

}else

break;

}} }}

class threadtest

}

第二種方式步驟: 

1,定義類實現runnable介面。 

2,覆蓋介面中的run方法(用於封裝執行緒要執行的**)。 

3,通過thread類建立執行緒物件; 

4,將實現了runnable介面的子類物件作為實際引數傳遞給thread類中的建構函式。  

5,呼叫thread物件的start方法。開啟執行緒,並執行runnable介面子類中的run方法。 

class inputoutputdemo

}class res

class input implements runnable

public void run()

catch (exception e)

}if (x==1)

else

r.flog = true;

x=(x+1)%2;

r.notify();

}} }

}class output implements runnable

public void run()

catch (exception e)

}system.out.println(r.name+"*****==="+r.***);

r.flog = false;

r.notify();

}} }

}

多執行緒安全問題的原因:

乙個執行緒在執行多條語句時,並運算同乙個資料時,在執行過程中,其他執行緒參與進來,並操作了這個資料。導致到了錯誤資料的產生。

死鎖練習

public class testdeadlock implements runnable

catch (interruptedexception e)

synchronized (o2)

}} else if (flag == 0)

catch (interruptedexception e)

synchronized (o1)}}

}public static void main(string args)

}

---------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------

黑馬程式設計師 多執行緒

windows phone 7手機開發 net培訓 期待與您交流!一 程序與執行緒 l 程序 乙個執行的程式就是乙個程序,程序包括執行中的程式和程式需要用到的記憶體和系統資源 乙個程序至少有乙個執行緒,乙個程序中多個執行緒可以併發執行 l 執行緒 程式中的乙個執行流,每個執行緒都有自己的專有暫存器 ...

黑馬程式設計師 多執行緒

asp.net android io開發 net培訓 期待與您交流!執行緒與程序的關係 乙個程式就相當於乙個程序 乙個程序至少有乙個執行緒 同乙個程序中的多個執行緒之間可以 併發 執行 執行緒 1 乙個執行緒一次只能完成乙個任務 2 多執行緒方法重入 cpu是不斷的在多個執行緒之間來回切換執行的 3...

黑馬程式設計師 多執行緒

asp.net android ios開發 net培訓 期待與您交流!多執行緒為什麼要用多執行緒?1 讓計算機 同時 做多件事情,節約時間。2 後台執行程式,提高程式的執行效率,也不會使主介面出現無響應的情況。3 多執行緒可以讓乙個程式 同時 處理多個事情。4 計算機cpu 大部分時間處於空閒狀態,...