有什么需要注意的地方,欢迎大家补充。
为了方便区分,回复时请用“【数字】”作为问题的标注。谢谢!
这里我先起个头:
【1】伪多线程
现象:
并发的多个事件,有的得不到响应。
解决方法:
while循环体末尾增加 wait 0 second。
原因:
由于vizzy是伪多线程,实际上并不支持多事件并发处理。系统的解决办法是:采用分时响应方式,交叉处置并发事件,实现多线程模拟。
说白了就是,同时发生俩事儿,系统只能先开始处理事件A。但只处理1条代码,占用0.001秒,然后把事件B拿过来再处理0.001秒,剩下0.008秒啥也不干。然后再从A开始A继续处理。
这就造成当并发事件较多、有高速循环程序体时,系统一个处理周期的时间被塞满,有的事件要等到其他事件的代码处理完才能排上队。
wait(等待)语句,能起到把事件挂起到后台的作用,可以将处理队列释放出来。所以能解决这种并行处理冲突。
为了方便区分,回复时请用“【数字】”作为问题的标注。谢谢!
这里我先起个头:
【1】伪多线程
现象:
并发的多个事件,有的得不到响应。
解决方法:
while循环体末尾增加 wait 0 second。
原因:
由于vizzy是伪多线程,实际上并不支持多事件并发处理。系统的解决办法是:采用分时响应方式,交叉处置并发事件,实现多线程模拟。
说白了就是,同时发生俩事儿,系统只能先开始处理事件A。但只处理1条代码,占用0.001秒,然后把事件B拿过来再处理0.001秒,剩下0.008秒啥也不干。然后再从A开始A继续处理。
这就造成当并发事件较多、有高速循环程序体时,系统一个处理周期的时间被塞满,有的事件要等到其他事件的代码处理完才能排上队。
wait(等待)语句,能起到把事件挂起到后台的作用,可以将处理队列释放出来。所以能解决这种并行处理冲突。