是你这个判断的问题
if(r.IsOK)
{
把它去了试试,就没有问题了
if(r.IsOK)
{
把它去了试试,就没有问题了
解决方案 »
- 哪位大侠能够传我一份DotNetSpeech.dll文件?
- 刚学NET,有个问题请教,关于DropDownList
- 怎样用桌面程序搜索并获取web页的内容?
- 请问有没有什么办法用C#拦截到net send的信息?
- 求助:调试时不能查看变量内容
- 大家好,请问如何记录新闻点击次数
- C#开发Windows应用程序,在IDE设计状态下,能不能把一个数据库的表直接显示在DataGrid中?50分
- [100求解]如何按国家对字符串排序
- 如何在Form中在textbox中按向上箭头回到上一个textbox?
- C# HTTP GET POST 带参数请求,谁能写一个Demo并用备注说明
- 寻求下拉的树形控件!
- 急!数据库问题!
using System.Threading;
using System.Collections;
class Class1
{ [STAThread]
static void Main(string[] args)
{
ArrayList list = new ArrayList();
list.Add(5);
list.Add(6);
list.Add(7);
ManualResetEvent allDone = new ManualResetEvent(false);
for (int i = 0; i < list.Count; i++)
{
int ii = (int)list[i];
Console.WriteLine("from" + ii);
ForRun r = new ForRun(ii); allDone.Reset();
Console.WriteLine("start");
Thread thread = new Thread(new ParameterizedThreadStart(r.run1));
thread.Start(allDone);
allDone.WaitOne();
if (r.IsOK)
{
r.IsOK = false;
Console.WriteLine("sleep");
Thread.Sleep(5000); }
}
Console.Read();
}}
public class ForRun
{ private bool isOK = false;
private int i = 0; public bool IsOK
{
get { return isOK; }
set { isOK = value; } }
public ForRun(int i)
{
this.i = i;
} public void run1(object o)
{
lock (this)
{ for (int ii = 0; ii <= this.i; ii++)
{
Console.WriteLine(ii);
if (ii == i)
this.isOK = true; } }
((ManualResetEvent)o).Set(); }
}