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

  • 大小: 37KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-07
  • 語言: C#
  • 標簽: .net??c#??多線程??互斥體??

資源簡介

問題: 哲學家就餐問題可以這樣表述,假設有六位哲學家圍坐在一張圓形餐桌旁,做以下兩件事情之一:吃飯,或者思考。吃東西的時候,他們就停止思考,思考的時候也停止吃東西。餐桌中間有一大碗意大利面,每兩個哲學家之間有一只筷子。因為用一只筷子很難吃到意大利面,所以假設哲學家必須用兩只筷子吃東西。他們只能使用自己左右手邊的那兩只筷子。 解決方式: 采用互斥量來解決該問題,每互斥量代表一只筷子。哲學家必須等待身邊兩只筷子同時可以使用的時候才可以進餐,當使用一會之后,需要自動釋放該互斥量(筷子),其他哲學家就可以進行搶占使用。

資源截圖

代碼片段和文件信息

using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;
using?System.Threading;
namespace?PhEating
{

????///?
????///?Copyright?(C)?2008-2012?jiayp
????///?
????///?CLR版本:2.0.50727.1433
????///?機器名稱:JIAYP
????///?開發團隊
????///?創建時間:10/20/2011?15:45:37
????///?創建年份:?2011???
????///?作者:jiaypqq:104652091
????///?功能介紹:客戶端設備樹,用于展開所有節點

????///?檢查時間:
????///?檢查人:
????///?檢查結果:
????///?

????public?partial?class?MainForm?:?Form
????{
????????private?Mutex[]?m_chopsticksMux;
????????private?Thread[]?m_thread;
????????private?Label[]?m_phInfo;
????????private?CheckBox[]?m_chopInfo;
????????private?SynchronizationContext?m_context;
????????private?bool?m_isRunning?=?true;
????????public?MainForm()
????????{
????????????InitializeComponent();
????????????m_context?=?SynchronizationContext.Current;
????????????m_phInfo?=?new?Label[6];
????????????m_phInfo[0]?=?label1;
????????????m_phInfo[1]?=?label2;
????????????m_phInfo[2]?=?label3;
????????????m_phInfo[3]?=?label4;
????????????m_phInfo[4]?=?label5;
????????????m_phInfo[5]?=?label6;
????????????m_chopInfo?=?new?CheckBox[6];
????????????m_chopInfo[0]?=?checkBox1;
????????????m_chopInfo[1]?=?checkBox2;
????????????m_chopInfo[2]?=?checkBox3;
????????????m_chopInfo[3]?=?checkBox4;
????????????m_chopInfo[4]?=?checkBox5;
????????????m_chopInfo[5]?=?checkBox6;
????????}

????????private?void?button1_Click(object?sender?EventArgs?e)
????????{
????????????m_chopsticksMux?=?new?Mutex[6];
????????????m_thread?=?new?Thread[6];
???????????for(int?i=0;i<6;i++)
???????????{
???????????????m_chopsticksMux[i]=new?Mutex(true“chop?sticks“+i.ToString());?????
???????????}?????????

???????????ParameterizedThreadStart?pts?=?new?ParameterizedThreadStart(Eating);
???????????m_thread[0]?=?new?Thread(pts);

???????????for?(int?i?=?1;?i????????????{
???????????????pts?=?new?ParameterizedThreadStart(Eating);
???????????????m_thread[i]?=?new?Thread(pts);
???????????}


???????????Philospher?ph?=?new?Philospher();
???????????ph.m_name?=?“Philospher0“;
???????????ph.m_index?=?0;

???????????ChopStick?csl?=?new?ChopStick();
???????????csl.m_number?=?5;
???????????csl.m_mutex?=?m_chopsticksMux[5];???????????????
???????????ph.m_left?=?csl;
?????????
???????????ChopStick?csr?=?new?ChopStick();
???????????csr.m_number?=?0;
???????????csr.m_mutex?=?m_chopsticksMux[0];
???????????ph.m_right?=?csr;

???????????m_thread[0].Start(ph);
???????????for?(int?i?=?1;?i????????????{

???????????????ph?=?new?Philospher();
???????????????ph.m_name?=?“Philospher“?+?i.ToString();
???????????????ph.m_index?=?i;


???????????????csl?=?new?ChopStick();
???????????????csl.m_number?=?i-1;
???????????????csl.m_mutex?=?m_chopsticksMux[i?-?1];?????????????
???????????????ph.m_left?=?csl;

???????????????csr?=?new?Cho

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????目錄??????????0??2011-10-20?15:00??PhEating

?????目錄??????????0??2011-10-20?14:46??PhEating\bin

?????目錄??????????0??2011-10-20?14:46??PhEating\bin\Debug

?????文件??????24576??2011-10-20?15:00??PhEating\bin\Debug\PhEating.exe

?????文件??????28160??2011-10-20?15:00??PhEating\bin\Debug\PhEating.pdb

?????文件???????5632??2005-11-11?22:25??PhEating\bin\Debug\PhEating.vshost.exe

?????文件???????5866??2011-10-20?15:00??PhEating\MainForm.cs

?????文件???????8997??2011-10-20?14:41??PhEating\MainForm.Designer.cs

?????文件???????5814??2011-10-20?14:41??PhEating\MainForm.resx

?????目錄??????????0??2011-10-20?14:39??PhEating\obj

?????目錄??????????0??2011-10-20?15:00??PhEating\obj\Debug

?????文件????????845??2011-10-20?14:41??PhEating\obj\Debug\PhEating.csproj.GenerateResource.Cache

?????文件??????24576??2011-10-20?15:00??PhEating\obj\Debug\PhEating.exe

?????文件????????180??2011-10-20?14:41??PhEating\obj\Debug\PhEating.MainForm.resources

?????文件??????28160??2011-10-20?15:00??PhEating\obj\Debug\PhEating.pdb

?????文件????????180??2011-10-20?14:46??PhEating\obj\Debug\PhEating.Properties.Resources.resources

?????目錄??????????0??2011-10-20?14:38??PhEating\obj\Debug\Refactor

?????目錄??????????0??2011-10-20?14:46??PhEating\obj\Debug\TempPE

?????文件???????4608??2011-10-20?14:46??PhEating\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll

?????文件????????903??2011-10-20?14:38??PhEating\obj\Debug\WindowsApplication2.csproj.GenerateResource.Cache

?????文件????????180??2011-10-20?14:04??PhEating\obj\Debug\WindowsApplication2.Properties.Resources.resources

?????文件???????1840??2011-10-20?15:06??PhEating\obj\PhEating.csproj.FileListAbsolute.txt

?????文件????????739??2011-10-20?14:38??PhEating\obj\WindowsApplication2.csproj.FileListAbsolute.txt

?????文件???????3275??2011-10-20?14:46??PhEating\PhEating.csproj

?????文件????????904??2011-10-20?14:39??PhEating\Program.cs

?????目錄??????????0??2011-10-20?13:03??PhEating\Properties

?????文件???????1194??2011-10-20?13:03??PhEating\Properties\AssemblyInfo.cs

?????文件???????2840??2011-10-20?14:46??PhEating\Properties\Resources.Designer.cs

?????文件???????5612??2011-10-20?13:03??PhEating\Properties\Resources.resx

?????文件???????1106??2011-10-20?14:46??PhEating\Properties\Settings.Designer.cs

............此處省略5個文件信息

評論

共有 條評論