91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 194KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-10
  • 語言: C#
  • 標(biāo)簽:

資源簡介

生產(chǎn)者消費(fèi)者為模型的多線程編程的c#實(shí)現(xiàn),原創(chuàng)包括代碼和程序,算法核心已經(jīng)封裝。可重用。

資源截圖

代碼片段和文件信息

using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Threading;


class?Threadobject//具有模擬生產(chǎn)及消費(fèi)功能的一個(gè)類
{
????Int32?id;//用戶id的申明
????Int32?max;//最大等待隊(duì)列長度的申明
????List?list?=?new?List();//為便于控制使臨界資源盡量少采用了framework2.0中新添加的list<>類作為等待隊(duì)列

????public?Threadobject(Int32?x)//構(gòu)造函數(shù)(便于對對象的初始化)
????{
????????this.id?=?0;
????????this.max?=?x;
????????this.list.Clear();
????}

????public?void?customer()//具有模擬生產(chǎn)者功能的方法
????{
????????Console.WriteLine(Thread.CurrentThread.Name?+?“已經(jīng)啟動!“);
????????Console.WriteLine(“_____________________________________________“);//輸出提示叫號機(jī)啟動
????????while?(true)//用while循環(huán)使生產(chǎn)者線程不會推出一直執(zhí)(生產(chǎn))行下去
????????{
????????????Random?producetime?=?new?Random();//隨機(jī)數(shù)聲名
????????????Int32?time;
????????????lock?(list)//鎖住list對象
????????????{
????????????????if?(list.Count?????????????????{
????????????????????Monitor.Enter(this);//監(jiān)視id
????????????????????id?=?id?+?1;//id加一
????????????????????list.Add(id);//將id?add到list中(即一個(gè)id=一個(gè)客戶)
????????????????????Monitor?.Exit?(this);//推出監(jiān)視
????????????????????time?=?producetime.Next(1000?5000);//產(chǎn)生一個(gè)隨機(jī)數(shù)阻塞生產(chǎn)線程相應(yīng)的時(shí)間以模擬生產(chǎn)
????????????????????Thread.Sleep(time);
????????????????????Console.WriteLine(““);
????????????????????Console.WriteLine(Thread.CurrentThread.Name?+?“?已經(jīng)產(chǎn)生?“?+?id?+?“號客戶!用時(shí)“?+?time?+?“毫秒“+“ 隊(duì)列中現(xiàn)有“+list?.Count?+“個(gè)客戶!“);
????????????????????Console.WriteLine(“_____________________________________________“);//生產(chǎn)提示
????????????????}
????????????????else
????????????????{
????????????????????Console.WriteLine(““);
????????????????????Console.WriteLine(“_____________________________________________“);
????????????????????Console.WriteLine(“顧客緩沖曲隊(duì)列已滿! “?+?Thread.CurrentThread.Name?+?“?被阻塞!“);
????????????????????Console.WriteLine(“等待服務(wù)窗口接待客戶!“);
????????????????????Console.WriteLine(“_____________________________________________“);
????????????????????Console.WriteLine(““);//阻塞提示
????????????????????Thread.CurrentThread.Priority?=?ThreadPriority.Lowest;//將當(dāng)前線程的優(yōu)先級設(shè)置為最低以便以往阻塞得線程先得到處理機(jī)
????????????????????Monitor.Wait(list);//線程進(jìn)入阻塞隊(duì)列
????????????????}
????????????????Monitor.Pulse(list);//喚醒阻塞的消費(fèi)者線程
????????????}
????????}
????}

????public?void?server()//具有模擬消費(fèi)者功能的方法
????{
????????Console.WriteLine(Thread.CurrentThread.Name?+?“?已經(jīng)啟動!“);
????????Console.WriteLine(“*********************************************“);//輸出提示服務(wù)窗口啟動
????????while?(true)
????????{
????????????Random?producetime?=?new?Random();//隨機(jī)數(shù)聲名
????????????Int32?timenumber;
????????????lock?(list)//鎖住list對象
????????????{
????????????????if?(list.Count?>?0)//判斷等待服務(wù)隊(duì)列是否為空
????????????????{
????????????????????number=list[0];//便于顯示接受服務(wù)的客戶
????????????????????list.RemoveAt(0);//接受服務(wù)后移出隊(duì)首的等待客戶
????????????????????time?=?producetime.Next(5000?6000);//產(chǎn)生一個(gè)隨機(jī)數(shù)阻塞生產(chǎn)線程相應(yīng)的時(shí)間以模擬生產(chǎn)
????????????????????Thread.Sleep(time);
????????????????????Console.WriteLine(““);
????????????????????Console.WriteLine(Thread.Cur

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件????????922??2007-05-18?18:56??生產(chǎn)——消費(fèi).sln

?????文件???????1525??2007-10-21?13:37??ConsoleApplication1\bin\Debug\ConsoleApplication1.application

?????文件??????20480??2007-10-21?13:37??ConsoleApplication1\bin\Debug\ConsoleApplication1.exe

?????文件???????2185??2007-10-21?13:37??ConsoleApplication1\bin\Debug\ConsoleApplication1.exe.manifest

?????文件??????15872??2007-10-21?13:37??ConsoleApplication1\bin\Debug\ConsoleApplication1.pdb

?????文件???????5266??2007-05-19?13:37??ConsoleApplication1\bin\Debug\ConsoleApplication1.publish\ConsoleApplication1.application

?????文件??????20480??2007-05-19?13:18??ConsoleApplication1\bin\Debug\ConsoleApplication1.publish\ConsoleApplication1_1_0_0_2\ConsoleApplication1.exe.deploy

?????文件???????5862??2007-05-19?13:37??ConsoleApplication1\bin\Debug\ConsoleApplication1.publish\ConsoleApplication1_1_0_0_2\ConsoleApplication1.exe.manifest

?????文件?????423872??2007-05-19?13:37??ConsoleApplication1\bin\Debug\ConsoleApplication1.publish\setup.exe

?????文件???????1525??2007-10-21?13:37??ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.application

?????文件???????5632??2005-12-08?14:51??ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe

?????文件???????2185??2007-10-21?13:37??ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe.manifest

?????文件???????3216??2007-05-18?19:10??ConsoleApplication1\cus-ser.csproj

?????文件????????536??2007-05-19?13:38??ConsoleApplication1\cus-ser.csproj.user

?????文件???????1676??2007-05-18?19:04??ConsoleApplication1\cus-ser_TemporaryKey.pfx

?????文件????????182??2007-05-18?18:56??ConsoleApplication1\obj\ConsoleApplication1.csproj.FileList.txt

?????文件????????356??2008-03-04?19:43??ConsoleApplication1\obj\cus-ser.csproj.FileList.txt

?????文件???????1525??2007-10-21?13:37??ConsoleApplication1\obj\Debug\ConsoleApplication1.application

?????文件??????20480??2007-10-21?13:37??ConsoleApplication1\obj\Debug\ConsoleApplication1.exe

?????文件???????2185??2007-10-21?13:37??ConsoleApplication1\obj\Debug\ConsoleApplication1.exe.manifest

?????文件??????15872??2007-10-21?13:37??ConsoleApplication1\obj\Debug\ConsoleApplication1.pdb

?????文件???????6483??2007-09-08?11:24??ConsoleApplication1\Program.cs

?????文件???????1185??2007-05-18?14:04??ConsoleApplication1\Properties\AssemblyInfo.cs

?????目錄??????????0??2010-06-19?18:10??ConsoleApplication1\bin\Debug\ConsoleApplication1.publish\ConsoleApplication1_1_0_0_2

?????目錄??????????0??2010-06-19?18:10??ConsoleApplication1\bin\Debug\ConsoleApplication1.publish

?????目錄??????????0??2009-10-07?17:57??ConsoleApplication1\obj\Debug\TempPE

?????目錄??????????0??2010-06-19?18:10??ConsoleApplication1\bin\Debug

?????目錄??????????0??2010-06-19?18:10??ConsoleApplication1\obj\Debug

?????目錄??????????0??2010-06-19?18:10??ConsoleApplication1\bin

?????目錄??????????0??2010-06-19?18:10??ConsoleApplication1\obj

............此處省略5個(gè)文件信息

評論

共有 條評論

相關(guān)資源