freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

第16章多線程(文件)

2025-08-07 07:56 上一頁面

下一頁面
 

【正文】 kets8 tickets9 tickets7 tickets6 tickets4 tickets5 tickets6 tickets3 tickets2 tickets1 tickets0 tickets1 tickets2 線程同步機制 ? 如何解決資源共享的問題? ?基本上所有解決多線程資源沖突問題都會采用給定時間只 允許一個線程訪問共享資源 ,這時就需要給共享資源上一道鎖。 synchronized (Object) {} ? Object為任意一個對象 ,每個對象都存在一個標志位 ,并具有兩個值 ,分別為 0和 1。 public void run() { synchronized () { while (num 0) { try { (100)。 synchronized void f(){} ? 當某個對象調用了同步方法,該對象上的其他同步方法必須等待該同步方法執(zhí)行完畢才能被執(zhí)行。 ? 實現(xiàn)同步是要很大的系統(tǒng)開銷作為代價的,甚至可能造成 死鎖 ,所以盡量避免無謂的同步控制。 線程間的通信 ? notify()方法用來喚醒一個處于阻塞狀態(tài)的線程,任何一個已經滿足了被喚醒條件的線程都可能被喚醒。 wait和 sleep區(qū)別 ? 如果線程 A希望立即結束線程 B,則可以對線程 B對應的 Thread實例調用 interrupt方法。 sleep方法沒有釋放鎖,而 wait方法釋放了鎖,使得其他線程可以使用同步控制塊或者方法。 wait和 sleep區(qū)別 ? 不同點: ? 1. Thread類的方法: sleep(),yield()等 Object的方法: wait()和 notify()等 ? 2. 每個對象都有一個鎖來控制同步訪問。 wait和 sleep區(qū)別 ? 共同點: ?1. 他們都是在多線程的環(huán)境下,都可以在程序的調用處阻塞指定的毫秒數(shù),并返回。 ? 線程調用 wait()方法后可以使該線程從運行狀態(tài)進入就緒狀態(tài) , sleep()方法也達到這樣一個效果,那么兩者究竟有何區(qū)別? ? 從同步的角度上來說,調用 sleep()方法的線程不釋放鎖,但調用 wait()方法的線程釋放鎖。 線程同步機制 ? 無論 synchronized關鍵字加在方法上還是對象上,它取得的 鎖都是對象 ,而不是把一段代碼或函數(shù)當作鎖。 } (tickets+num)。 ? 這時該線程就處于就緒狀態(tài),直到 處于同步塊中的線程執(zhí)行完同步塊中的代碼為止。 線程同步機制 1) 同步塊 ? 在 Java中提供了同步機制,可以有效地防止資源沖突。 ()。 Thread tC = new Thread(t)。 } (tickets+num)。 線程安全 ? 在代碼中判斷當前票數(shù)是否大于 0,如果大于 0則執(zhí)行將該票出售給乘客功能, ? 但當兩個線程同時訪問這段代碼時(假如這時只剩下一張票),第一個線程將票售出,與此同時第二個線程也已經執(zhí)行完成判斷是否有票的操作,并得出結論票數(shù)大于 0,于是它也執(zhí)行售出操作,這樣就會產生負數(shù)。 } main(5) t1(1), loop 0 t1(1), loop 1 t1(1), loop 2 t1(1), loop 3 t1(1), loop 4 t2(10), loop 0 t2(10), loop 1 t2(10), loop 2 t2(10), loop 3 t2(10), loop 4 線程同步 ? 線程安全 ? 線程同步機制 線程安全 ? 所以在編寫多線程程序時,應該考慮到線程安全問題。 (1)。 i++) { (().getName() +(+().getPriority()+ ) +, loop +i)。 線程的優(yōu)先級 線程的優(yōu)先級 ? 在圖 169中,優(yōu)先級為 5的線程 A首先得到CPU時間片;當該時間結束后,輪換到與線程 A相同優(yōu)先級的線程 B;當線程 B的運行時間結束后,會繼續(xù)輪換到線程 A, ? 直到線程 A與線程 B都執(zhí)行完畢,才會輪換到線程 C;當線程 C結束后,最后才會輪到線程 D。每個新產生的線程都繼承了父線程的優(yōu)先級。 線程的優(yōu)先級 ? 每個線程都具有各自的優(yōu)先級,線程的優(yōu)先級可以在程序中表明該線程的重要性, 如果有很多線程處于就緒狀態(tài),系統(tǒng)會根據優(yōu)先級來決定首先使哪個線程進入運行狀態(tài) 。 if (count == 0) { return。 } … } main主線程運行開始 ! 子線程 B運行 : 0 子線程 B運行 : 1 子線程 B運行 : 2 子線程 A運行 : 0 子線程 A運行 : 1 子線程 A運行 : 2 main主線程運行結束 ! 線程的中斷 ? 以前使用 stop()方法停止線程,但當前版本的 JDK早已廢除了 stop()方法,同時也不建議使用 stop()方法來停止一個線程的運行。
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1