成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

代碼分享:模擬售票 學習多線程

開發 后端
一段簡單的火車票Java編程代碼,主要是加強多線程的學習。

【代碼說明】

假設有火車票100張,創建10個線程模擬10個售票點,每個售票點100毫秒賣一張票。 打印出售票過程,注意使用synchronized確保同一張票只能賣出一次。輸出格式如下:

第4售票點賣出第100張票

第2售票點賣出第101張票 ……


【代碼片段】

  1. class T4E02   
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         Resource rs = new Resource(100);  
  6.  
  7.         for (int i=0;i<10 ;i++ )  
  8.         {  
  9.             new Thread(new Seller(i,rs)).start();  
  10.         }  
  11.     }  
  12. }  
  13. /**  
  14.  *  資源類  
  15.  *  定義了票的總數,和同步了的售票方法  
  16.  */ 
  17. class Resource  
  18. {  
  19.     int ticketNum = 50;  
  20.     boolean flag = false ; // 定義票是否賣完  
  21.  
  22.     public Resource(){}  
  23.     public Resource(int num)  
  24.     {  
  25.         this.ticketNum = num;  
  26.     }  
  27.  
  28.     public synchronized void sellTicket(Seller s)  
  29.     {  
  30.         if (ticketNum > 0)  
  31.         {  
  32.             System.out.println("第" + s.num + "售票點賣出了第" + ticketNum + "張票……");  
  33.             ticketNum--;  
  34.         }  
  35.         else   
  36.         {  
  37.             flag = true;  
  38.         }  
  39.     }  
  40. }  
  41. /**  
  42.  *  售票點類  
  43.  *    
  44.  */ 
  45. class Seller implements Runnable  
  46. {  
  47.     int num;  
  48.     Resource rs;  
  49.  
  50.     public Seller(int num,Resource rs)  
  51.     {  
  52.         this.num = num;  
  53.         this.rs = rs;  
  54.     }  
  55.  
  56.     public final void run()  
  57.     {  
  58.         while (!rs.flag)  
  59.         {  
  60.             /**  
  61.              *  調用資源類的同步方法  
  62.              */   
  63.             rs.sellTicket(this);   
  64.  
  65.             try 
  66.             {  
  67.                 Thread.sleep(100);  
  68.             }  
  69.             catch (InterruptedException e)  
  70.             {  
  71.                 e.printStackTrace();  
  72.             }  
  73.         }  
  74.     }  

 


【圖片效果】

原文鏈接:http://www.oschina.net/code/snippet_85011_6481

【編輯推薦】

  1. 用Java GUI編寫的畫板程序
  2. Java中帶復選框的樹的實現和應用
  3. 制作完整的Java可執行文件
  4. 10個強大的JavaScript表單驗證插件
  5. Java網絡編程菜鳥進階:TCP和套接字入門
責任編輯:林師授 來源: 開源中國社區
相關推薦

2010-07-26 13:27:19

Perl多線程

2009-10-23 09:26:09

VB.NET多線程

2009-06-11 10:48:53

Java多線程

2009-06-11 10:22:18

Java多線程

2010-02-04 10:19:39

C++多線程

2010-03-17 15:45:06

Java多線程求和

2009-08-28 16:43:57

C#多線程學習

2009-08-03 11:07:18

Scala Actor

2011-08-18 17:07:23

IOS開發多線程NSInvocatio

2009-07-17 17:29:13

多任務多線程

2009-03-12 10:52:43

Java線程多線程

2010-03-17 19:24:38

Java多線程循環

2009-08-26 18:13:55

C#多線程lock

2019-07-15 16:10:00

技術研發指標

2021-04-28 08:00:16

多線程高并發操作

2010-01-08 10:48:05

VB.NET多線程

2020-04-07 11:10:30

Python數據線程

2024-01-15 10:55:40

Python多線程開發

2020-03-12 10:16:45

代碼Java多線程

2010-03-17 09:33:30

Java多線程方案
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区www | 日本天堂一区二区 | 91久久久久久久久 | 国产精品黄视频 | 97超碰人人| 久久精品 | 特级黄一级播放 | 色啪网 | 国产精品区二区三区日本 | 国产精品久久久久久久免费大片 | 日韩1区2区| 久久爱黑人激情av摘花 | 国产精品成人在线 | 91麻豆精品国产91久久久久久 | 日韩欧美不卡 | 欧美日韩国产精品激情在线播放 | 亚洲精久| 天天射天天干 | 最近中文字幕在线视频1 | 欧美激情va永久在线播放 | 日韩一级 | 亚洲一区 中文字幕 | 国产 日韩 欧美 在线 | 久久久久久国产 | 亚州精品成人 | 美国黄色毛片 | 日韩欧美网 | 在线一区二区观看 | 亚洲国产成人在线 | 免费一区二区三区 | 中文一区二区 | 精品久久久久久亚洲综合网 | 久久之精品| 福利片在线看 | a级黄色网 | 91精品国产美女在线观看 | www.国产精 | 久久男人 | 中文字幕精品视频在线观看 | a看片| 久草视 |