學過建立執行緒的二種方法,一是繼承thread類,重寫run方法,第二種是實現runnble介面,推薦使用第二種,這樣能夠避免單繼承的侷限性。
接下來用第二種實現runnble介面寫下案例,模擬搶票
package com.cb.thread;
/* * 共享資源,併發(執行緒安全)
*/public class web12306 implements runnable
try catch (interruptedexception e)
誰執行run就是代表誰
system.out.println(thread.currentthread().getname()+"-->"+ticketnums--);
} } public static void main(string args)
}
執行結果:
從結果可以看出來資料不正確,就涉及到併發也就是執行緒安全問題,目前還沒學到併發,所以先不解決。
龜免賽跑案例
package com.cb.thread;
/* * 模擬龜兔賽跑
*/public class racer implements runnable catch (interruptedexception e)
}system.out.println(thread.currentthread().getname()+"-->"+steps);
//把步數傳過去,看比賽是否結束
boolean flag = gameover(steps);
if(flag)
} system.out.println();
}private boolean gameover(int steps)else
} return false;
} public static void main(string args)
}
多執行緒搶票 搶票軟體變身「黃牛」 想要票 多交錢
如今,使用搶票軟體的人越來越多,曾經免費的搶票軟體們紛紛推出vip或加速包,要想票,就必須多交錢,搶票軟體搖身一變成了線上 黃牛 由於地區距離和運營商線路的原因,12306出票的伺服器可能會有很大的延遲,搶票軟體能通過伺服器來發起購票要求,延遲更低,搶的更快。除了反應時間和網路延遲的差別,搶票軟體甚...
多執行緒學習 三 執行緒案例 多人搶票
案例說明 名稱 多人搶票 說明 多個執行緒同時操作同乙個物件 發現問題 當多個人操作同乙個物件時,會出現資料紊亂 案例 2020 4 5 17 44 檔案說明 多個執行緒同時操作同乙個物件 多人搶票例子 發現問題 當多個人操作同乙個物件時,會出現資料紊亂 author 太陽以西 夢可以到的地方,只要...
模擬搶票系統
from multiprocessing import process,lock import json,time,random,os def piao mutex mutex.acquire 作用 按順序購票,不會插隊 dic json.load open db.txt 讀取,檢視車票總數 if ...