读书人

pb 多线程的有关问题

发布时间: 2012-03-03 15:33:02 作者: rapoo

pb 多线程的问题
我写了个pb的多线程的例子,就一个窗口,窗口里面是个进度条,
打开线程后,进度条就不停的在走。也达到多线程的目的,在窗口上做操作都没引响
不过在拖动窗口时,进度条会停下来,放掉之后也没一下子走一大段,也就是说线程也给停下了,这是为什么呢
用c写的多线程就没有这个情况

[解决办法]
在拖动窗口时,进度条会停下来,放掉之后也没一下子走一大段m,证明还是在动,只是窗口没有刷新而已
[解决办法]
是用timer事件吧
timer事件是可以被合并的。
当窗口在拖动的时候,窗口上的事件被阻塞,多个timer事件就会在消息队列里面合并成一个。

[解决办法]

引用楼主 zhanghua_1228 的帖子:
我写了个pb的多线程的例子,就一个窗口,窗口里面是个进度条,
打开线程后,进度条就不停的在走。也达到多线程的目的,在窗口上做操作都没引响
不过在拖动窗口时,进度条会停下来,放掉之后也没一下子走一大段,也就是说线程也给停下了,这是为什么呢
用c写的多线程就没有这个情况

[解决办法]
PB不支持多线程,如果进度条要中断可以用yield函数实现
[解决办法]
最近刚好做这个,不知道楼主的子线程怎么主窗口发送进度消息
我用的是sharedobjectregister创建线程,用send()向主窗口发送进度消息(这可是我花了几天时间弄出来的,那个累啊...)
楼主能不能不你的方案拿出来分享一下?
[解决办法]
用个全局变量之类的东东gb_exit = false

do while tru
if gb_exit then exit
loop

然后在程序里赋值结gb_exit

读书人网 >PB

热点推荐