首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
编程技术
发新帖
0
0
[求助][求助]2个窗口,在不同线程,父子关系,如果一个线程无限Sleep,另一线程也会死掉?
发表于: 2014-9-4 11:45
6976
[求助][求助]2个窗口,在不同线程,父子关系,如果一个线程无限Sleep,另一线程也会死掉?
yigezihao
2014-9-4 11:45
6976
1.父窗口在主线程
2.子窗口在另一线程
子窗口所在线程接收命令后,如果Sleep无限长(或其它死锁操作)的话,父窗口也跟着死了
如何处理子窗口卡死而不让主窗口也跟着卡死?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
14
)
yuchengton
雪 币:
261
活跃值:
(51)
能力值:
( LV2,RANK:10 )
在线值:
发帖
2
回帖
146
粉丝
0
关注
私信
yuchengton
2
楼
创建非模态窗口
2014-9-4 11:57
0
bxc
雪 币:
7048
活跃值:
(3527)
能力值:
( LV12,RANK:340 )
在线值:
发帖
245
回帖
1332
粉丝
26
关注
私信
bxc
6
3
楼
窗口是线程所有的,父窗口创建的子窗口,那么子窗口理应也是父窗口的线程维护消息。
好像只有一种CreateMDIWindow是其它线程维护子窗口消息的吧。
不知lz的窗口是怎么实现的?
2014-9-4 12:07
0
yigezihao
雪 币:
12
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
14
粉丝
0
关注
私信
yigezihao
4
楼
不行的,问题的根源主要在于,父子窗口之前的联系,比如父窗口移动,子窗口也需要跟着移动。
2014-9-4 13:48
0
yigezihao
雪 币:
12
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
14
粉丝
0
关注
私信
yigezihao
5
楼
子窗口用另一进程来开。
2014-9-4 13:49
0
tishion
雪 币:
496
活跃值:
(291)
能力值:
( LV13,RANK:400 )
在线值:
发帖
20
回帖
319
粉丝
11
关注
私信
tishion
9
6
楼
Replace the SendMessage with PostMessage or PostThreadMessage
2014-9-4 13:58
0
yigezihao
雪 币:
12
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
14
粉丝
0
关注
私信
yigezihao
7
楼
这些消息不是由我主动发起的,而是由系统机制来保证,我移动主窗口,总不至于要再写代码去移动子窗口吧。
2014-9-4 14:00
0
tishion
雪 币:
496
活跃值:
(291)
能力值:
( LV13,RANK:400 )
在线值:
发帖
20
回帖
319
粉丝
11
关注
私信
tishion
9
8
楼
一个窗口联动的消息处理,难道计算移动的offset需要你算一天?
消息处理的写法有问题,重新思考一下
你这是在附加别人的密码窗口么
2014-9-4 16:25
0
yigezihao
雪 币:
12
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
14
粉丝
0
关注
私信
yigezihao
9
楼
说到窗口移动只是举例而已,父子窗口之间还是有很多内在联系的,我还没完全弄清楚,但卡死应该不是由于我代码造成的。
不是密码窗口,而是在研究多进程的浏览器,我发现IE也是有这样的问题的:如果网页进程执行的JS死循环了,也会卡死IE的。
2014-9-4 16:28
0
tishion
雪 币:
496
活跃值:
(291)
能力值:
( LV13,RANK:400 )
在线值:
发帖
20
回帖
319
粉丝
11
关注
私信
tishion
9
10
楼
消息循环都被阻塞了 不卡就奇怪了
2014-9-4 17:22
0
yigezihao
雪 币:
12
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
14
粉丝
0
关注
私信
yigezihao
11
楼
请问有解决方案么?
2014-9-5 09:16
0
featherwit
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
13
粉丝
0
关注
私信
featherwit
12
楼
永远不要在UI线程中使用类似sleep这样的函数。如果有消息传递,使用postmessage。
首先要确认的是,你为什么需要使用sleep
2014-9-7 12:02
0
yigezihao
雪 币:
12
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
14
粉丝
0
关注
私信
yigezihao
13
楼
Sleep只是举例,但确实存在着阻塞UI线程的情况,请问这种情况有什么比较好的办法处理么?
2014-9-9 10:38
0
featherwit
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
13
粉丝
0
关注
私信
featherwit
14
楼
这个就和业务场景有关了~换句话说,你要考虑的是如何去掉需要阻塞UI的场景
举个栗子~假设你要查询一个超长的SQL,那么完全可以在UI中放一个事件循环来保证不阻塞,当worker线程完成查询时传递给UI线程,再根据状态机往下继续走。
尽量把可能阻塞UI线程的地方变成异步执行
2014-9-9 13:15
0
yigezihao
雪 币:
12
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
14
粉丝
0
关注
私信
yigezihao
15
楼
这一步阻塞无法避免的了。例如IE:如果网页进程执行的JS死循环了,同样会卡死IE
2014-9-9 13:58
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
yigezihao
3
发帖
14
回帖
10
RANK
关注
私信
他的文章
[求助][求助]2个窗口,在不同线程,父子关系,如果一个线程无限Sleep,另一线程也会死掉?
6977
[求助]请教:类型为EtwRegistration的句柄是什么来的
4786
[求助]PE文件添加文件报毒
5042
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部