关于线程的问题

hot305 2003-10-19 10:25:52
给文章开个线程,该线程运行到一定时间,主程序才开始运行

private void ss()
{
Thread thread1=new Thread(new ThreadStart(Temp));
thread1.Start();
this.listview.item.add("线程");
}
如何使Temp运行了十秒左右在运行下面的程序呢?
...全文
32 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hot305 2003-12-02
  • 打赏
  • 举报
回复
up
顾君彦 2003-11-24
  • 打赏
  • 举报
回复
主线程执行得差不多就执行
System.Threading.Monitor.Wait(this);
来进入等待状态.
直到工作线程执行到某步要求主线程执行时,
工作线程调用

System.Threading.Monitor.Pulse(主线程所在实例);
即可唤醒主线程.
success_victory 2003-11-24
  • 打赏
  • 举报
回复
在子线程中相关类中声明一委托,到10秒后,通知订阅此委托的主线程,此时,主线程运行下面的程序.
o1o 2003-11-24
  • 打赏
  • 举报
回复
将代码放到ss中就行啦,调用时直接ss()。
如果运行的线程是不固定的,那么将你的ss更改一下,改为带参数的。
hot305 2003-11-24
  • 打赏
  • 举报
回复
up
hot305 2003-10-19
  • 打赏
  • 举报
回复
有没有更好的方法啊,up
hot305 2003-10-19
  • 打赏
  • 举报
回复
有没有一些命令啊
我下面还有很多地方用到,不可能都加timer吧
rgbcn 2003-10-19
  • 打赏
  • 举报
回复
using System;
using System.Threading;
class Test
{
public AutoResetEvent autoRE = new AutoResetEvent(false);
public static void Main()
{
Thread counterThread;
Thread bigTaskThread;
Test test=new Test();
counterThread=new Thread(new ThreadStart(test.Counter));
bigTaskThread=new Thread(new ThreadStart(test.BigTask));
counterThread.Start();
bigTaskThread.Start();
test.autoRE.WaitOne();
System.Console.WriteLine("................bigTaskThread 运行超过10秒,已经跳过!!!....................");
System.Console.ReadLine();
}
public void Counter()
{
for(int i=0;i<10;i++)
{
Thread.Sleep(1000);
System.Console.WriteLine(".............第{0}秒................",i);
}
autoRE.Set();
}
public void BigTask()
{
Thread.Sleep(15000);// }
}

rgbcn 2003-10-19
  • 打赏
  • 举报
回复
加个timer 控件。

等运行了十秒左右再运行下面的程序呢.


110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧