精易论坛

标题: 两个线程中造成冲突 进来看问题 [打印本页]

作者: 笨笨的小纬    时间: 2025-5-10 22:45
标题: 两个线程中造成冲突 进来看问题
我用了两个线程  一个A  一个B    启动顺序是 启动A线程后在A线程内部启动B线程    运行过程中由B线程 挂起A线程   
    这时候相当于A线程被挂起   B线程正常运行  但是极少数情况下B线程也就停了  这是为什么

作者: 你的猫    时间: 2025-5-10 22:45
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
线程A句柄整数型  
线程B句柄整数型  
线程A暂停标志逻辑型初始值为假 

子程序名返回值类型公开备 注
_按钮_启动_被单击  
线程A句柄 = 启动线程 (&线程A子程序, , )

子程序名返回值类型公开备 注
线程A子程序  
线程B句柄 = 启动线程 (&线程B子程序, , )

判断循环首 ()  ' 线程A的主循环
如果真 (线程A暂停标志)
延时 (100)  ' 暂停时让出CPU,避免忙等待
否则
' 线程A正常工作的代码
输出调试文本 (“线程A正在运行...”)
延时 (500)

判断循环尾 ()
子程序名返回值类型公开备 注
线程B子程序  
延时 (2000)  ' 模拟运行一段时间后暂停线程A
线程A暂停标志 = 真
输出调试文本 (“线程B已暂停线程A”)

延时 (3000)  ' 模拟运行一段时间后恢复线程A
线程A暂停标志 = 假
输出调试文本 (“线程B已恢复线程A”)


作者: baitso    时间: 2025-5-10 22:58
检查两个线程是否有共同的许可证或者互斥信号,如果有,先排除了死锁的情况。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4