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

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免费视频| 国产激情小网站免费看| 日韩一区二区三级在线| 91午夜精品在线观看| 亚洲日本一区二区高清在线 | 欧美成人午夜精品一区二区| 97在线视频在线播放| 美女丝袜美腿魅惑男人| 日本免费观看一区久久| 亚洲精品黄色片中文字幕| 二区三区在线欧美日韩| 欧洲精品久久久久久| 国产精品蜜臀av在线一区| 欧美成人一区二区三区片| 传媒在线免费观看视频| 日本精品一区二区不卡| 国产老熟女一区二区三区| 国产二区日韩成人精品| 欧美日韩国产av一区| 久久精品国产一区电影| 国产精品一区二区熟女| 欧美午夜福利视频网址| 成人在线午夜免费视频| 国产一级三级视频在线| 蜜臀av在线国产一区| 精品人妻系列一区二区| 91精品婷婷国产综合| 男女互射视频在线观看| 国产欧美成人精品第一区| 国产精品推荐在线观看| 天天操天天日天天射夜夜爽| 18以下的人禁止看的视频| 欧美一区二区三区成人网| 久久亚洲中文字幕精品熟女| 日韩高清有码一区二区| 四虎在线经典视频播放| 天天躁人人躁夜夜躁狠狠躁| 国产精品盗摄一区二区三区| 日韩欧美国产麻豆一区精品|