如何让线程一个接一个(而不是同时)运行,急!急!急!急!

chouglingy 2008-01-05 08:26:17
我的CODE是这样的(应该怎么改呢):
void timerStart_Tick(object serder, EventArgs e)
{
try
{
string strAppRunStartTime="202501";
string strNowTime = DateTime.Now.ToString("HHmmss");
if (strAppRunStartTime == strNowTime)
{
Thread t1= new Thread(new ThreadStart(s1));
t1.Priority = ThreadPriority.Highest;
t1.Start();

Thread t2= new Thread(new ThreadStart(s2));
t2.Priority = ThreadPriority.BelowNormal;
t2.Start();

Thread t3= new Thread(new ThreadStart(s3));
t3.Priority = ThreadPriority.BelowNormal;
t3.Start();

Thread t4= new Thread(new ThreadStart(s4));
t4.Priority = ThreadPriority.BelowNormal;
t4.Start();
}
}
}
catch (Exception err)
{
errMessage(err.Message,"timerStart_Tick");
}
}
...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
minioreo 2008-01-05
  • 打赏
  • 举报
回复
如果四个方法是顺序执行的 没有必要用多线程了把 直接四个方法依次调用 效率反而比多线程高
minioreo 2008-01-05
  • 打赏
  • 举报
回复
先初始化4个线程 然后
t1.start();
t1.join();
t2.start();
t2.join();
t3.start();
t3.join();
t4.start();
raulredondo 2008-01-05
  • 打赏
  • 举报
回复
private void S()
{
s1();
s2();
s3();
s4();
}

Thread t= new Thread(new ThreadStart(S));
t.Priority = ThreadPriority.BelowNormal;
t.Start();
chouglingy 2008-01-05
  • 打赏
  • 举报
回复
自己先顶一下

110,534

社区成员

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

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

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