漫畫 多執行緒經典例子之一視窗售票

2021-09-11 12:09:41 字數 1541 閱讀 1070

多執行緒經典例子:

1.生產與消費

2.多視窗售票

3.龜兔賽跑

4.銀行取款

5.讀者寫者

6.多執行緒交替列印abc(順序列印)

具體描述:有a,b,c三個執行緒, a執行緒輸出a, b執行緒輸出b, c執行緒輸出c要求, 同時啟動三個執行緒, 按順序輸出abc, 迴圈10次

7.描述:子執行緒迴圈10次,接著回到主線程迴圈100次,如次迴圈50次。等等

直接上**,如下(注意注釋)

public class selltickets 

}/**

* 採用實現runnable介面的方式實現多執行緒

*/class ticket implements runnable

//車票號

int num = 1;

@override

public void run

() // sleep並不釋放同步鎖,此處只是休眠100s,等休眠100s後執行後續**

thread.sleep(100);

system.out.println(thread.currentthread().getname() + " 售出火車票 no." + (num++));

} catch (interruptedexception e) }}

}}複製**

輸出日誌:

視窗1 等待同步鎖

視窗3 等待同步鎖

視窗2 等待同步鎖

視窗1 持有同步鎖

視窗1 售出火車票 no.1

視窗1 等待同步鎖

視窗2 持有同步鎖

視窗2 售出火車票 no.2

視窗2 等待同步鎖

視窗2 持有同步鎖

視窗2 售出火車票 no.3

視窗2 等待同步鎖

視窗3 持有同步鎖

視窗3 售出火車票 no.4

視窗3 等待同步鎖

視窗2 持有同步鎖

視窗2 售出火車票 no.5

視窗2 等待同步鎖

視窗1 持有同步鎖

視窗1 售出火車票 no.6

視窗1 等待同步鎖

視窗2 持有同步鎖

視窗2 售出火車票 no.7

視窗2 等待同步鎖

視窗3 持有同步鎖

視窗3 售出火車票 no.8

視窗3 等待同步鎖

視窗3 持有同步鎖

視窗3 售出火車票 no.9

視窗3 等待同步鎖

視窗2 持有同步鎖

視窗2 售出火車票 no.10

視窗2 等待同步鎖

視窗2 持有同步鎖

車票已經賣完啦!

視窗1 持有同步鎖

車票已經賣完啦!

視窗3 持有同步鎖

車票已經賣完啦!

複製**

今天的內容就是如此啦,舉例的其他經典案例,就不再此篇幅講了,

大家如果還有其他的經典例子,可以告知哦,謝謝!

漫畫 多執行緒經典例子之一視窗售票

public class selltickets 採用實現runnable介面的方式實現多執行緒 class ticket implements runnable 車票號 int num 1 override public void run sleep並不釋放同步鎖,此處只是休眠100s,等休眠10...

多執行緒經典之三口同時售票

package niu.cheng4 三種方法解決同步問題 第一種 多條執行緒使用同一把鎖 物件是任意的 第二種 使用鎖方法 物件是this 第三種 使用位元組碼檔案實現鎖 物件是class檔案 public class test3 package niu.cheng4 public class s...

多執行緒程式設計之一

雖然c 包含了許多創新性特徵,但其中最激動人心的一點卻是它對多執行緒程式設計的內建支援。乙個多執行緒程式包含兩個或更多能夠同時進行的部分。這種程式的每一部分稱為乙個執行緒。1.多執行緒基礎 有兩種截然不同的多工處理 基於程序的和基於執行緒的。理解這兩者間的不同很重要。程序本質上是乙個正在執行的程式。...