c# 线程什么时候开始计时? 怎么设置线程在我希望的时间点的2秒后开始执行执行5秒后结束?
3个回答
展开全部
你可以使用 Timer 类吧?具体我也在研究,以下是我的解法,期待更多高手关注
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static int i = 0;
static void foo()
{
Console.WriteLine(i);
i++;
}
static void Main(string[] args)
{
int timecount=0;
Thread a = new Thread(foo);
Thread.Sleep(2000);
a.Start();
while(timecount!=5)
{
timecount++;
Thread.Sleep(1000);
}
a.Abort();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static int i = 0;
static void foo()
{
Console.WriteLine(i);
i++;
}
static void Main(string[] args)
{
int timecount=0;
Thread a = new Thread(foo);
Thread.Sleep(2000);
a.Start();
while(timecount!=5)
{
timecount++;
Thread.Sleep(1000);
}
a.Abort();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先判断
if(time==...)
{
sleep(2000);
thread.start();
if(time==...+5)
{
停止线程;
}
}
if(time==...)
{
sleep(2000);
thread.start();
if(time==...+5)
{
停止线程;
}
}
追问
如果是在我希望的事件的发生之后再2秒后开始执行执行5秒后结束 怎么办?用委托吗?
追答
恩用委托,加在sleep(2000);前面。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就在你希望的时间两秒后开始创建并启动线程,并在五秒后终止!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询