社区
C#
帖子详情
判断线程状态问题
hlgchina
2008-11-19 05:09:06
Thread dl = new Thread(new ThreadStart(downfile));
while(true)
{
if(!dl.IsAlive)
{
dl.Start();
}
else
{
Application.DoEvents();
}
}
第一次运行正确,到第二次执行dl.Start();的时候出错
“线程正在运行或被终止;它无法重新启动。”
...全文
126
7
打赏
收藏
判断线程状态问题
Thread dl = new Thread(new ThreadStart(downfile)); while(true) { if(!dl.IsAlive) { dl.Start(); } else { Application.DoEvents(); } } 第一次运行正确,到第二次执行dl.Start();的时候出错 “线程正在运行或被终止;它无法重新启动。”
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
长沙三毛
2008-11-20
打赏
举报
回复
[Quote=引用 6 楼 bloodish 的回复:]
引用 5 楼 hlgchina 的回复:
ManualResetEvent,没有set()方法啊
另外这个放在downfile方法的最后面?
你可以用AutoResetEvent
看你的代码,有个疑问为什么要重复开线程?
While可以直接移到线程里去做
[/Quote]ManualResetEvent有Set()方法
bloodish
2008-11-19
打赏
举报
回复
[Quote=引用 5 楼 hlgchina 的回复:]
ManualResetEvent,没有set()方法啊
另外这个放在downfile方法的最后面?
[/Quote]
你可以用AutoResetEvent
看你的代码,有个疑问为什么要重复开线程?
While可以直接移到线程里去做
hlgchina
2008-11-19
打赏
举报
回复
ManualResetEvent,没有set()方法啊
另外这个放在downfile方法的最后面?
bbbbbb888888
2008-11-19
打赏
举报
回复
顶LS的.....
长沙三毛
2008-11-19
打赏
举报
回复
安全方法是,线程自然终止,即运行到线程的}语句。如果再次调用 new 创建线程可能抛出上述错误。建议使用同步机制:在线程完成后设置 ManualResetEvent.Set(),启动线程时:ManualResetEvent.WaitOne()。
human_2
2008-11-19
打赏
举报
回复
Thread dl = new Thread(new ThreadStart(downfile));
while(true)
{
if(!dl.IsAlive)
{
dl = new Thread(new ThreadStart(downfile));
dl.Start();
}
else
{
Application.DoEvents();
}
}
hlgchina
2008-11-19
打赏
举报
回复
自己顶
判断
线程
运行
状态
的两种方法
判断
线程
运行
状态
的两种方法
判断
线程
运行
状态
的方法有很多,如可以采用类似于对象计数器的方法等等,那么这里向你介绍两种
判断
线程
运行
状态
的方法,希望对你有所帮助。 AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验
判断
线程
运行
状态
的方法有很多,如可以采用类似于对象计数器的方法,所谓对象计数器,就是一个对象被引用一次,这个计数器就加1,销毁引用就减1,如果引用数为
delphi
判断
线程
状态
函数
来源:https://www.cnblogs.com/azhqiang/p/3955490.html//
判断
线程
是否释放//返回值:0-已释放;1-正在运行;2-已终止但未释放;//3-未建立或不存在function CheckThreadFreed(aThread: TThread): Byte;var i: DWord; IsQuit: Boolean;begin if Assig...
C#中
判断
线程
的
状态
在C#中,
线程
对象Thread使用ThreadState属性指示
线程
状态
,它是带Flags特性的枚举类型对象。 ThreadState 为
线程
定义了一组所有可能的执行
状态
。一旦
线程
被创建,它就至少处于其中一个
状态
中,直到终止。在公共语言运行时中创建的
线程
最初处于Unstarted
状态
中,而进入运行时的外部
线程
则已经处于Running
状态
中。通过调用 Start可以将Unstarted线
在C#中如何
判断
线程
当前所处的
状态
在C#中,
线程
对象Thread使用ThreadState属性指示
线程
状态
,它是带Flags特性的枚举类型对象,因此
判断
线程
当前的
状态
必须用bitmask按位运算来达到
判断
目的,不能直接使用相等来
判断
。
c#
判断
线程
的
状态
,随笔
判断
线程
是否为未开启
状态
或者已停止
状态
,如果是,则新开
线程
执行方法,
线程
的
状态
判断
最好是用&符的方式,不要用==号: if ((conectThread.ThreadState & (ThreadState.Unstarted | ThreadState.Stopped)) != 0) { conectThread = ne...
C#
111,131
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章