TC官方合作论坛

 找回密码
 立即注册
查看: 1722|回复: 0

[问题] 多线程停止失效

[复制链接]
发表于 2019-3-15 19:29:43 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2个线程同时启动,在过程1函数中调用停止键的 终止_热键()功能,只有线程1停止了,线程2未停止

var 线程1 = 0
var 线程2 = 0
function 启动_热键()
    线程1=threadbegin("过程","")
    线程2=threadbegin("过程1","")
end
function 过程()
    while(true)
        traceprint("这是过程")
        sleep(100)
    end
end
function 过程1()
    var j=0
    var t1,t2
    //从这里开始你的代码
    while(true)
        traceprint("这个是过程1")
        j=j+1
        if(j>2)
            for( var i = 0; i < 2; i++)
                traceprint("这是过程2")
                sleep(100)
            end
            终止_热键()
        end
    end
end
//终止热键操作
function 终止_热键()
    var t1,t2
    t1=threadclose(线程1)
    if(t1)
        traceprint("线程1停止")
    end
    t2=threadclose(线程2)
    if(t2)
        traceprint("线程2停止")
    end
end
function 启动_失去焦点()
    //这里添加你要执行的代码
    hotkeydestroy("启动")
    hotkeyregister("启动")
end
function 终止_失去焦点()
    //这里添加你要执行的代码
    hotkeydestroy("终止")
    hotkeyregister("终止")
end
function 保存配置_点击()
    //这里添加你要执行的代码
    var 键值 = 0,功能键 = 0
    hotkeyget("启动",键值,功能键)
    filewriteini("热键","启动键值",键值,"D:\\Main.ini")
    filewriteini("热键","启动功能键",功能键,"D:\\Main.ini")
    hotkeyget("终止",键值,功能键)
    filewriteini("热键","终止键值",键值,"D:\\Main.ini")
    filewriteini("热键","终止功能键",功能键,"D:\\Main.ini")
end
function 多线程测试_初始化()
    //这里添加你要执行的代码
    var 键值 = 0,功能键 = 0
    键值 = filereadini("热键","启动键值","D:\\Main.ini")
    功能键 = filereadini("热键","启动功能键","D:\\Main.ini")
    if(键值 != "")
        hotkeyset("启动",键值,功能键)
        hotkeyregister("启动")
    end
    键值 = filereadini("热键","终止键值","D:\\Main.ini")
    功能键 = filereadini("热键","终止功能键","D:\\Main.ini")
    if(键值 != "")
        hotkeyset("终止",键值,功能键)
        hotkeyregister("终止")
    end
end

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-12 15:47 , Processed in 0.033840 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表