我的CPU 都转不过来拉!!!
解决方案 »
- 使用C#读取VSS文件目录
- 如何遍历取出datagridview选中的某列值在赋给textbox!!
- 创建DataTable 然后将数据加在DataTable 里 ,请问怎么提高其查询速度。
- WinFrom Tree控件 保持展开折叠的状态
- C#初学者,请教如何在源码编辑器里生成一个GUID,我想用它作主键?多谢大虾!
- 困惑----使用委托的优点
- 用C# .Net如何开发三层的数据库应用系统?
- 帮助文档
- 谁能给个 lecco sql expert for sql server 安装程序和 注册码
- 一个C#的重载操作符问题!!
- arx 编程中 创建cad对象扩展词典,出错:“未将对象引用设置到对象的实例 ”
- c#中backgroundwoker在打印時的使用問題
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 WindowsApplication274
{
public partial class Form1 : Form
{
static int N = 10 + 1; //10+1把椅子
static int Empty = N;
static bool IsSleeping = true;
ListBox LB = new ListBox();
Random R = new Random(); bool IsCreateNewCustomer = true; public Form1()
{
InitializeComponent(); LB.Parent = this;
LB.Dock = DockStyle.Fill; this.Shown += new EventHandler(Form1_Shown);
} void Form1_Shown(object sender, EventArgs e)
{
new Thread(new ThreadStart(CreateNewCustomer)).Start();
new Thread(new ThreadStart(WorkerAction)).Start();
} void DoAppendEvent(String Event)
{
LB.Items.Add(Event);
} void CreateNewCustomer()
{
while (IsCreateNewCustomer)
{
new Thread(new ThreadStart(NewCustomer)).Start();
Thread.Sleep(R.Next(50));
}
}
static Object Obj = new Object();
void NewCustomer()
{
Action<String> AppendEvent = new Action<String>(DoAppendEvent);
lock(Obj)
{ if (IsSleeping)
{
IsSleeping = false;
this.Invoke(AppendEvent, new Object[] { "顾客叫醒理发师" });
} if (Empty == 0)
this.Invoke(AppendEvent, new Object[] { "没空位了,顾客走了" });
else
this.Invoke(AppendEvent, new Object[] { "顾客坐在第"
+(N-Empty+1).ToString()+"把椅子上等待理发。还剩"
+ (Empty---1).ToString() + "把空椅子" });
}
} void WorkerAction()
{
Action<String> AppendEvent = new Action<String>(DoAppendEvent); while (true)
lock (Obj)
{
if (!IsSleeping)
if (Empty == N)
{
IsSleeping = true;
this.Invoke(AppendEvent, new Object[] { "客户都服务完了,理发师开始睡觉" });
}
else
{
this.Invoke(AppendEvent, new Object[] { "理发师开始为坐在第"+(N-Empty).ToString()
+"把椅子上的顾客理发"});
Thread.Sleep(R.Next(55));
Empty++;
}
}
}
}
}顾客叫醒理发师
顾客坐在第1把椅子上等待理发。还剩10把空椅子
理发师开始为坐在第1把椅子上的顾客理发
顾客坐在第1把椅子上等待理发。还剩10把空椅子
理发师开始为坐在第1把椅子上的顾客理发
顾客坐在第1把椅子上等待理发。还剩10把空椅子
理发师开始为坐在第1把椅子上的顾客理发
客户都服务完了,理发师开始睡觉
顾客叫醒理发师
顾客坐在第1把椅子上等待理发。还剩10把空椅子
理发师开始为坐在第1把椅子上的顾客理发
客户都服务完了,理发师开始睡觉
顾客叫醒理发师
顾客坐在第1把椅子上等待理发。还剩10把空椅子
理发师开始为坐在第1把椅子上的顾客理发
客户都服务完了,理发师开始睡觉
顾客叫醒理发师
顾客坐在第1把椅子上等待理发。还剩10把空椅子
理发师开始为坐在第1把椅子上的顾客理发
顾客坐在第1把椅子上等待理发。还剩10把空椅子
理发师开始为坐在第1把椅子上的顾客理发
顾客坐在第1把椅子上等待理发。还剩10把空椅子
顾客坐在第2把椅子上等待理发。还剩9把空椅子
理发师开始为坐在第2把椅子上的顾客理发
理发师开始为坐在第1把椅子上的顾客理发
顾客坐在第1把椅子上等待理发。还剩10把空椅子
理发师开始为坐在第1把椅子上的顾客理发
顾客坐在第1把椅子上等待理发。还剩10把空椅子
顾客坐在第2把椅子上等待理发。还剩9把空椅子
理发师开始为坐在第2把椅子上的顾客理发
顾客坐在第2把椅子上等待理发。还剩9把空椅子
顾客坐在第3把椅子上等待理发。还剩8把空椅子
理发师开始为坐在第3把椅子上的顾客理发
顾客坐在第3把椅子上等待理发。还剩8把空椅子
顾客坐在第4把椅子上等待理发。还剩7把空椅子
顾客坐在第5把椅子上等待理发。还剩6把空椅子
理发师开始为坐在第5把椅子上的顾客理发
理发师开始为坐在第4把椅子上的顾客理发
顾客坐在第4把椅子上等待理发。还剩7把空椅子
顾客坐在第5把椅子上等待理发。还剩6把空椅子
理发师开始为坐在第5把椅子上的顾客理发
理发师开始为坐在第4把椅子上的顾客理发
顾客坐在第4把椅子上等待理发。还剩7把空椅子
理发师开始为坐在第4把椅子上的顾客理发
顾客坐在第4把椅子上等待理发。还剩7把空椅子
顾客坐在第5把椅子上等待理发。还剩6把空椅子
顾客坐在第6把椅子上等待理发。还剩5把空椅子
理发师开始为坐在第6把椅子上的顾客理发
顾客坐在第6把椅子上等待理发。还剩5把空椅子
理发师开始为坐在第6把椅子上的顾客理发
顾客坐在第6把椅子上等待理发。还剩5把空椅子
理发师开始为坐在第6把椅子上的顾客理发
理发师开始为坐在第5把椅子上的顾客理发
顾客坐在第5把椅子上等待理发。还剩6把空椅子
理发师开始为坐在第5把椅子上的顾客理发
顾客坐在第5把椅子上等待理发。还剩6把空椅子
顾客坐在第6把椅子上等待理发。还剩5把空椅子
理发师开始为坐在第6把椅子上的顾客理发
顾客坐在第6把椅子上等待理发。还剩5把空椅子
顾客坐在第7把椅子上等待理发。还剩4把空椅子
理发师开始为坐在第7把椅子上的顾客理发
顾客坐在第7把椅子上等待理发。还剩4把空椅子
理发师开始为坐在第7把椅子上的顾客理发
顾客坐在第7把椅子上等待理发。还剩4把空椅子
理发师开始为坐在第7把椅子上的顾客理发
顾客坐在第7把椅子上等待理发。还剩4把空椅子
顾客坐在第8把椅子上等待理发。还剩3把空椅子
顾客坐在第9把椅子上等待理发。还剩2把空椅子
顾客坐在第10把椅子上等待理发。还剩1把空椅子
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
理发师开始为坐在第10把椅子上的顾客理发
理发师开始为坐在第9把椅子上的顾客理发
顾客坐在第9把椅子上等待理发。还剩2把空椅子
顾客坐在第10把椅子上等待理发。还剩1把空椅子
理发师开始为坐在第10把椅子上的顾客理发
理发师开始为坐在第9把椅子上的顾客理发
顾客坐在第9把椅子上等待理发。还剩2把空椅子
顾客坐在第10把椅子上等待理发。还剩1把空椅子
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
理发师开始为坐在第10把椅子上的顾客理发
理发师开始为坐在第9把椅子上的顾客理发
理发师开始为坐在第8把椅子上的顾客理发
理发师开始为坐在第7把椅子上的顾客理发
顾客坐在第7把椅子上等待理发。还剩4把空椅子
理发师开始为坐在第7把椅子上的顾客理发
顾客坐在第7把椅子上等待理发。还剩4把空椅子
理发师开始为坐在第7把椅子上的顾客理发
顾客坐在第7把椅子上等待理发。还剩4把空椅子
顾客坐在第8把椅子上等待理发。还剩3把空椅子
理发师开始为坐在第8把椅子上的顾客理发
顾客坐在第8把椅子上等待理发。还剩3把空椅子
顾客坐在第9把椅子上等待理发。还剩2把空椅子
理发师开始为坐在第9把椅子上的顾客理发
顾客坐在第9把椅子上等待理发。还剩2把空椅子
顾客坐在第10把椅子上等待理发。还剩1把空椅子
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
没空位了,顾客走了
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
没空位了,顾客走了
理发师开始为坐在第11把椅子上的顾客理发
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
没空位了,顾客走了
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
没空位了,顾客走了
没空位了,顾客走了
没空位了,顾客走了
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
没空位了,顾客走了
没空位了,顾客走了
理发师开始为坐在第11把椅子上的顾客理发
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
顾客坐在第11把椅子上等待理发。还剩0把空椅子
理发师开始为坐在第11把椅子上的顾客理发
理发师开始为坐在第10把椅子上的顾客理发
顾客坐在第10把椅子上等待理发。还剩1把空椅子
顾客坐在第11把椅子上等待理发。还剩0把空椅子
没空位了,顾客走了
没空位了,顾客走了
理发师开始为坐在第11把椅子上的顾客理发
顾客坐在第11把椅子上等待理发。还剩0把空椅子
没空位了,顾客走了
没空位了,顾客走了
没空位了,顾客走了
理发师开始为坐在第11把椅子上的顾客理发