日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

多线程买票案例

發(fā)布時(shí)間:2025/3/12 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多线程买票案例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

測(cè)試類

package thead;public class testThread {public static void main(String [] arg){Tickets ticket = new Tickets();Thread t1 = new Thread(ticket,"窗口一:");Thread t2 = new Thread(ticket,"窗口二:");Thread t3 = new Thread(ticket,"窗口三:");t1.start();t2.start();t3.start();/* 注意:Thread中的start()方法是線程的就緒,而線程的啟動(dòng),需要等待CPU的調(diào)度(也就是所謂的線程搶資源);run()方法的方法體代表了線程需要完成的任務(wù),稱之為線程執(zhí)行體。void start() 使該線程開始執(zhí)行;Java 虛擬機(jī)調(diào)用該線程的 run 方法。//即啟動(dòng)線程start方法會(huì)自動(dòng)調(diào)用該類中重寫的run方法*//* 同步鎖與資源共享:CPU可能隨機(jī)的在多個(gè)處于就緒狀態(tài)中的線程中進(jìn)行切換,這時(shí)就可能出現(xiàn)線程的安全問題;線程安全問題,其實(shí)是指多線程環(huán)境下對(duì)共享資源的訪問可能會(huì)引起此共享資源的不一致性,而解決安全問題則需要同步鎖的加入,執(zhí)行synchronized部分代碼的時(shí)候必須需要對(duì)象鎖,而一個(gè)對(duì)象只有一個(gè)鎖,只有執(zhí)行完synchronized里面的代碼后釋放鎖,其他線程才可以獲得鎖,那么就保證了同一時(shí)刻只有一個(gè)線程訪問synchronized里面的代碼。實(shí)現(xiàn)資源共享的關(guān)鍵是,只有一個(gè)實(shí)例,synchronized使用的是同一把鎖,用實(shí)例的鎖或者定義一個(gè)實(shí)例。這就需要使用實(shí)現(xiàn)Runnable接口的方式,實(shí)現(xiàn)多線程,這樣傳入的是一個(gè)實(shí)例。繼承Thread的方式,傳入的是多個(gè)實(shí)例,每個(gè)實(shí)例都有一個(gè)鎖,那就無(wú)法實(shí)現(xiàn)控制。*/} }

實(shí)現(xiàn)了runnable接口的類

package thead;public class Tickets implements Runnable{// 為了讓線程共享一個(gè)資源所以我們定義一個(gè)靜態(tài)成員變量private static int tickets = 100;Object obj = new Object();@Overridepublic void run() {while (true) {synchronized (Tickets.class) {try {if (tickets > 0) {// Thread.sleep(100); 只是為了打印的效果,一行一行打印,如果不加則,所有結(jié)果一下子全都出來(lái)了// getName:獲取線程的名字,就是main方法里的第二個(gè)參數(shù)System.out.println(Thread.currentThread().getName() + "正在售出第" + (tickets--) + "張票");}} catch (Exception e) {e.printStackTrace();}}}} }

總結(jié)

以上是生活随笔為你收集整理的多线程买票案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。