[问题] winapi waitforsingleobject 问题

楼主: destinyXfate (哇勒)   2017-11-29 14:40:03
请问在撰写windows的程式时
需要使用到waitforsingleobject()以及setevent()
如果要撰写在wndproc这个讯息处理程式里面呢
目标:
开两条执行绪
第一条wait
第二条条做完给event
然后第一条在做剩下的事
假设我要
执行绪一:画圆然后wait第二条执行绪给event
执行绪二:画三角形然后setevent
之后执行绪一再做一个动作画图或是显示文字
这有办法做到吗
不晓得有没有大大有相关的范例能提供我参考
谢谢
作者: caras   2017-11-29 14:48:00
不要写在WndProc里,你会把UI卡在Wait然后整个程式不动你说的两个执行绪都另开新的就好了,UI 放著做他该做的事
楼主: destinyXfate (哇勒)   2017-11-29 15:06:00
在WM_create 写两个 _beginthread吗?因为还是新手 不知道怎么在thread里面画图
作者: caras   2017-11-29 15:23:00
为什么要在 work thread 绘图,资料处理完再叫 UI thread更新画面就好了 (InvalidateRect()之类)thread 画图不是不行,但有些麻烦事要处理我不确定你为何会想做这么不正常的事,可能要从头规划程式
楼主: destinyXfate (哇勒)   2017-11-29 17:28:00
不一定要在thread画图 还是有其他办法看出thread有在等待 然后有给event
作者: Schottky (顺风相送)   2017-11-29 20:38:00
send 自己定义的 message 给 UI thread 叫他显示就行了反正你只是要表现出两个 thread 有在互动把 UI thread 当作计分板,通知他变更画面
楼主: destinyXfate (哇勒)   2017-11-29 23:15:00
想再请教一点 请问怎么确定有开成功 两条thread?
作者: galic (嘎利)   2017-11-29 23:41:00
Debug->Windows->Thread 我猜...
楼主: destinyXfate (哇勒)   2017-11-30 03:55:00
我用debugview 看输出的字 设定的两个thread都有跑到 但是有人说 看起来好像是同一个thread? Debugview 输出的字前面[]的数字代表什么呢
作者: Schottky (顺风相送)   2017-12-05 21:01:00
这个问题呢往那个“有人”肚子上揍一拳骂他外行就可以了回头看看你的整个问题,应该是这个 one punch 法最有效怎么看都是有人自己不懂在那边刁难你

Links booklink

Contact Us: admin [ a t ] ucptt.com