递归火山软件开发平台

标题: 关于piv线程池 Xelloss大佬请进 [打印本页]

作者: quick    时间: 2024-9-1 11:40
标题: 关于piv线程池 Xelloss大佬请进
本帖最后由 quick 于 2024-9-1 11:51 编辑

新手从易语言转过来的  看官方的线程池看不懂  有人推荐piv的线程池

下面线程池写法 不知道是否正确



关于线程池有几点疑问:
1.火山的超级列表框是线程安全吗
2.线程池投递任务 分批投递和一次性投递 哪一个比较好
请大神帮忙看看 指点一下

附上源码:cn.s12k.cn/down.php/9463bcbb1b37ccc9600aa4bafa2cbffd.zip



作者: Xelloss0618    时间: 2024-9-1 22:12
1. 窗口组件都不是线程安全的,不建议在线程中使用,即使有加锁。
可以用高级主线程处理器,在线程中投递内容到主线程操作界面。
2. 你才100个任务,分批和一次性投递没多大区别,如果是一次性上万,那还可能占用多点内存。
(, 下载次数: 22)


作者: quick    时间: 2024-9-1 23:42
本帖最后由 quick 于 2024-9-1 23:56 编辑
Xelloss0618 发表于 2024-9-1 22:12
1. 窗口组件都不是线程安全的,不建议在线程中使用,即使有加锁。
可以用高级主线程处理器,在线程中投递内 ...

感谢大佬热心解答  如果点击了停止  但投递的线程任务还在运行(耗时任务)  怎么等待work线程运行完毕再做出提示或解除按钮的禁用 (停止-等待-销毁)
作者: Xelloss0618    时间: 2024-9-2 09:03
quick 发表于 2024-9-1 23:42
感谢大佬热心解答  如果点击了停止  但投递的线程任务还在运行(耗时任务)  怎么等待work线程运行完毕再 ...

高级主线程处理器_接收到通知 里的判断可以改成
如果 (线程池对象.执行任务数 == 1 && 线程池对象.队列任务数 == 0)
作者: quick    时间: 2024-9-2 11:46
Xelloss0618 发表于 2024-9-2 09:03
高级主线程处理器_接收到通知 里的判断可以改成
如果 (线程池对象.执行任务数 == 1 && 线程池对象.队列任 ...

非常感谢




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4