【线程问题】:如何实现有两个线程,当一个线程运行完毕后,通知另外一个线程偶运行好了,让另外一个线程继续运行。 线程不能sleep。进程可以。如果你要操作线程,最好把线程变为进程,就是再编一个程序。哈哈! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.xbee.org/pub/Temp/csharp/thread.cs winmain(){ //初始化 threadA=new Thread(new ThreadStart(threadACode)); threadA.Start(); while(threadA.threadstate!=threadstate.Aborted)//死循环,等待线程A结束 Thread.Sleep(1000)//等待1秒}void threadACode(){ threadB=new Thread(new ThreadStart(threadBCode)); threadB.Start(); while(threadB.threadstate==threadstate.Aborted)//死循环,等待线程B结束 Thread.Sleep(1000)//等待1秒}void threadBCode(){//} 声明一个Mutex,如static Mutex switchFlag;//constructswitchFlag = new Mutex(true);thread1(){dosomething();switchFlag.ReleaseObj();}thread2(){// wait for thread1switchFlag.WaitOne();}收工。 没有测试。 参考一下吧:winmain(){ //初始化 threadA=new Thread(new ThreadStart(threadACode)); threadA.Start(); while(threadA.threadstate!=threadstate.Aborted)//死循环,等待线程A结束 Thread.Sleep(1000)//等待1秒}void threadACode(){ threadB=new Thread(new ThreadStart(threadBCode)); threadB.Start(); while(threadB.threadstate==threadstate.Aborted)//死循环,等待线程B结束 Thread.Sleep(1000)//等待1秒}void threadBCode(){//} 建议使用 Mutex死循环判断 Mutex 状态,同意 sunruping(圣诞老人) 和 jimh(jimmy),turnmissile(会翻跟头的导弹) 你可以使用join方法,它会阻塞下面的代码,直到另一线程结束:在A线程中:{...B.join();... }在Main线程中:{...A.join();...}==结贴 你可以使用join方法,它会阻塞下面的代码,直到另一线程结束:在A线程中:{...B.join();... }在Main线程中:{...A.join();...} 就差一步了,如果让主窗口(mainform)不能获取焦点在其创建的线程没有完成前?????成功立即给分 http://www.xbee.org/pub/Temp/csharp/thread.cs看懂了,顶一下 问题得到解决,需要使用到ApplicationContext类,解决方案还是比较复杂的。 html按钮触发c#后台事件 关于datagridview绑定的问题 网页抓取修改转发 新手问题:关于数据库的问题 问一个简单的问题:如何取winForm程序下的app.config文件的值? 后期维护需要注意些什么,请有经验的说说 C# 登陆QQ邮箱碰到的问题 急!C#连接Oracle数据库出错 win form listbox问题 为什么?myAL不等于myAL1。请解释一下..... C#中使用ActiveX控件问题(新手问题) 请问如何触发服务器控件的双击事件?
{
//初始化
threadA=new Thread(new ThreadStart(threadACode));
threadA.Start();
while(threadA.threadstate!=threadstate.Aborted)//死循环,等待线程A结束
Thread.Sleep(1000)//等待1秒
}void threadACode()
{
threadB=new Thread(new ThreadStart(threadBCode));
threadB.Start();
while(threadB.threadstate==threadstate.Aborted)//死循环,等待线程B结束
Thread.Sleep(1000)//等待1秒
}void threadBCode()
{
//
}
static Mutex switchFlag;//construct
switchFlag = new Mutex(true);thread1()
{
dosomething();
switchFlag.ReleaseObj();
}thread2()
{
// wait for thread1
switchFlag.WaitOne();
}收工。 没有测试。
{
//初始化
threadA=new Thread(new ThreadStart(threadACode));
threadA.Start();
while(threadA.threadstate!=threadstate.Aborted)//死循环,等待线程A结束
Thread.Sleep(1000)//等待1秒
}void threadACode()
{
threadB=new Thread(new ThreadStart(threadBCode));
threadB.Start();
while(threadB.threadstate==threadstate.Aborted)//死循环,等待线程B结束
Thread.Sleep(1000)//等待1秒
}void threadBCode()
{
//
}
死循环判断 Mutex 状态,同意 sunruping(圣诞老人) 和 jimh(jimmy),turnmissile(会翻跟头的导弹)
{
...
B.join();
...
}在Main线程中:
{
...
A.join();
...
}==结贴
{
...
B.join();
...
}在Main线程中:
{
...
A.join();
...
}
看懂了,顶一下