欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C#多線程練習題分析

這篇文章主要講解了“C#多線程練習題分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#多線程練習題分析”吧!

創(chuàng)新互聯(lián)-專業(yè)網站定制、快速模板網站建設、高性價比烏魯木齊網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式烏魯木齊網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋烏魯木齊地區(qū)。費用合理售后完善,十年實體公司更值得信賴。

題目:模擬生產、入庫、銷售(50分)

假設某企業(yè)自產、自存、自銷,需要將工廠生產的各類產品不定時的運到倉庫,與此同時,需要將倉庫中的貨物運往超市和商場中進行銷售,請編寫一個程序模擬此過程(主要是存取這個過程)。

評分標準:

1. 倉庫的存量是固定的,可以假設為一個常量,比如10。(5分)

2. 倉庫滿的時候,不能再向倉庫中存貨。(10分)

3. 倉庫空的時候,不能賣出貨物。(10分)

4. 存貨和取貨是同時進行的,不要出現(xiàn)先存滿再取完貨再存滿再取完的效果或者存一個取一個再存再取這樣的效果。(15分)

5. 思路清晰,輸出工整,編碼規(guī)范,有正確的異常處理。(10分)

用多線程模擬倉庫存儲和銷售的過程代碼如下:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.IO;  namespace MultiThreadStore {     class Program     {         //入口         static void Main(string[] args)         {             Goods goods = new Goods();             Thread storeGoods = new Thread(new ParameterizedThreadStart(store));             Thread sellGoods = new Thread(new ParameterizedThreadStart(sell));             storeGoods.Start(goods);             sellGoods.Start(goods);             Console.ReadLine();         }         //存貨方法         private static void store(object obj)         {             bool storeFlag = true;             Random random = new Random();             while (storeFlag)             {                 try                 {                     Goods goods = obj as Goods;                     if (goods.Num < goods.MaxNum)                     {                         goods.Num++;                         Console.WriteLine("Store a goods, " + goods.Num + " goods left!");                     }                     else                      {                         Console.WriteLine("The store is full now.");                     }                     Thread.Sleep(random.Next(500, 1000));                 }                 catch (Exception ex)                 {                     WriteLog(ex);                     storeFlag = false;                 }             }         }         //賣貨方法         public static void sell(object obj)          {             bool sellFlag = true;             Random random = new Random();             while (sellFlag)             {                 try                 {                     Goods goods = obj as Goods;                     if (goods.Num > 0)                     {                         goods.Num--;                         Console.WriteLine("Sell a goods, " + goods.Num + " goods left!");                     }                     else                      {                         Console.WriteLine("There are no goods now.");                     }                     Thread.Sleep(random.Next(1000, 4000));                 }                 catch (Exception ex)                 {                     WriteLog(ex);                     sellFlag = false;                 }             }         }         //打log方法         private static void WriteLog(Exception ex)         {             string logUrl = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\MuliThreadStorelog.txt";             if (File.Exists(@logUrl))             {                 using (FileStream fs = new FileStream(logUrl, FileMode.Append))                 {                     using (StreamWriter sw = new StreamWriter(fs, Encoding.Default))                     {                         try                         {                             sw.Write(ex);                         }                         catch (Exception ex1)                         {                             WriteLog(ex1);                         }                         finally                         {                             sw.Close();                             fs.Close();                         }                     }                 }             }             else             {                 using (FileStream fs = new FileStream(logUrl, FileMode.CreateNew))                 {                     using (StreamWriter sw = new StreamWriter(fs, Encoding.Default))                     {                         try                         {                             sw.Write(ex);                         }                         catch (Exception ex1)                         {                             WriteLog(ex1);                         }                         finally                         {                             sw.Close();                             fs.Close();                         }                     }                 }             }         }     }     //貨品類     class Goods      {         public int Num { get; set; }         public int MaxNum { get; set; }         public Goods()          {             Num = 10;             MaxNum = 50;         }          } }

運行截圖:

C#多線程練習題分析

感謝各位的閱讀,以上就是“C#多線程練習題分析”的內容了,經過本文的學習后,相信大家對C#多線程練習題分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!

名稱欄目:C#多線程練習題分析
網址分享:http://aaarwkj.com/article2/igcjoc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號品牌網站設計、搜索引擎優(yōu)化、標簽優(yōu)化、網站改版網站導航

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網站建設公司
亚洲国产专区一区二区麻豆| 亚州国产成人综合精品| 97国产精品视频在线观看| 亚洲综合av伊人久久| 国产精品久久99真精品| 欧美日韩国内在线视频| 国产亚洲欧美另类网爆| 欧美午夜福利在线电影| 亚洲国产成人91精品| 日韩高清不卡免费视频| 日韩精品在线第一视频| 亚洲欧美日韩性生活视频| 一区二区三区日韩电影在线| 91午夜福利国产在线观看| 一区二区亚洲免费的视频| 午夜少妇福利在线观看| 免费在线观看污污污网站| 夫妻性生活在线视频一级片| 欧美三级美国三级亚洲三级| 国产手机在线91精品观看| 中文字幕国产精品资源| 手机在线观看午夜小视频| 亚洲欧美日韩一区中文天国| 精品久久久久久久久无| 国产日韩亚洲欧美精品专区 | 成人欧美一区二区三区av| 最新免费观看男女啪啪视频| 91啪在线观看91色| 色婷婷av一区二区三| 国产一区二区精品小视频| 综合久久—本道中文字幕| 99热久久精品免费精品| 欧美 成人一区二区三区| 97碰碰视频在线观看| 漂亮人妻被中出中文字幕| 亚洲精品国产精品成人| 久久成人日韩电影午夜| 热门精品一区二区三区| 欧美劲爆三级免费观看| 日本成人精品一区二区三区| 视频一区视频二区三区|