社区
C#
帖子详情
线程的用法
shadom2008
2009-01-23 03:31:51
Thread ts= new Thread(new ThreadStart(send));
ts.Start();
Thread.Sleep(1000 * 120);
ts = new Thread(new ThreadStart(RptReceive));
ts.Start();
小弟第一次遇到线程,这样写语法对不对?能不能实现调用send方法后,线程睡2分钟,醒来后再调用RptReceive!
如果不对,求正确方法,谢谢!
...全文
145
7
打赏
收藏
线程的用法
Thread ts= new Thread(new ThreadStart(send)); ts.Start(); Thread.Sleep(1000 * 120); ts = new Thread(new ThreadStart(RptReceive)); ts.Start(); 小弟第一次遇到线程,这样写语法对不对?能不能实现调用send方法后,线程睡2分钟,醒来后再调用RptReceive! 如果不对,求正确方法,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunrobust
2009-01-23
打赏
举报
回复
顺序调用, 可以啊。。。
qiqundelang
2009-01-23
打赏
举报
回复
例子多的很,摆渡一哈
shadom2008
2009-01-23
打赏
举报
回复
[Quote=引用 2 楼 king19840811 的回复:]
你这是不是调用send方法后,醒来调用RptReceive
是在调用send方法后。主线程睡眠2分钟然后调用RptReceive
[/Quote]
正是这个意思
本来是这样写的
private void tDisposeMessage()
{
Message me = new Message();
if (me.Iscon)
{
me.send();
Thread.Sleep(120*1000);
me.RptReceive();
me.SMreceive();
}
}
这样就能实现先send,睡2分钟后RptReceive(),然后SMreceive();???
shadom2008
2009-01-23
打赏
举报
回复
[Quote=引用 1 楼 sunrobust 的回复:]
Thread ts= new Thread(new ThreadStart(send)); //这是新开了一个子线程, 并且调用了send方法
Thread.Sleep(1000 * 120); //这是让当前线程睡眠120s, 上面新开的子线程可能还在执行send方法, 也可能执行完send方
// 法后自动退出了
ts = new Thread(new ThreadStart(RptReceive)); //这是又开了一个子线程去receive了, 和以前的主线程,子线程没有任何关系
lz这…
[/Quote]
自己看看都不对,本来也是向您说的这么写的,感觉这样写没和“线程”扯上关系。汗
private void tDisposeMessage()
{
Message me = new Message();
if (me.Iscon)
{
Thread ts= new Thread(new ThreadStart(me.send));
ts.Start();
Thread.Sleep(1000 * 120);
ts = new Thread(new ThreadStart(me.RptReceive));
//me.send();
//Thread.Sleep(120*1000);
//me.RptReceive();
//me.SMreceive();
}
}
雪狐
2009-01-23
打赏
举报
回复
楼主启的是两个线程。。。
雪狐
2009-01-23
打赏
举报
回复
晕,去MSDN上抄啥。没啥问题。。。
king19840811
2009-01-23
打赏
举报
回复
你这是不是调用send方法后,醒来调用RptReceive
是在调用send方法后。主线程睡眠2分钟然后调用RptReceive
sunrobust
2009-01-23
打赏
举报
回复
Thread ts= new Thread(new ThreadStart(send)); //这是新开了一个子线程, 并且调用了send方法
Thread.Sleep(1000 * 120); //这是让当前线程睡眠120s, 上面新开的子线程可能还在执行send方法, 也可能执行完send方
// 法后自动退出了
ts = new Thread(new ThreadStart(RptReceive)); //这是又开了一个子线程去receive了, 和以前的主线程,子线程没有任何关系
lz这样的方法不对。
如果没有特别要求,完全不用多线程:
send();
Thread.Sleep(1000 * 120);
RptReceive();
WPF多
线程
演示
WPF多
线程
演示
Java.Concurrency.in.Practice.pdf
Java.Concurrency.in.Practice.pdf
Qt
线程
的几种使用方法
目前Qt的多
线程
调用提供了三种方式,一种是子类化QThread后重写run函数,一种是将对象移动到特定
线程
中,还有一种是通过重写QRunnable的run函数搭配
线程
池实现,最后一种则是调用高级接口Qt::Concurrent。以上是通过子类化QThread后重写run函数实现子
线程
的调用,其中只有run函数内属于子
线程
,也就是QThread只是一个
线程
管理类,而其实例本身并不是一个
线程
,其他的成员和run函数并不在同一
线程
。需要注意的是,上述调用
线程
的方法已经过时,目前官方不推荐使用。
C#
线程
的基本使用
线程
Qt 多
线程
基础及
线程
使用方式
文章目录Qt 多
线程
操作2.
线程
类QThread3.多
线程
使用:方式一4.多
线程
使用:方式二5.Qt
线程
池的使用 Qt 多
线程
操作 应用程序在某些情况下需要处理比较复杂的逻辑, 如果只有一个
线程
去处理,就会导致窗口卡顿,无法处理用户的相关操作。这种情况下就需要使用多
线程
,其中一个
线程
处理窗口事件,其他
线程
进行逻辑运算,多个
线程
各司其职,不仅可以提高用户体验还可以提升程序的执行效率。 Qt中使用多
线程
需要注意: Qt的默认
线程
为窗口
线程
(主
线程
):负责窗口事件处理或窗口控件数据的更新; 子
线程
负责后台的业
C#
111,131
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章