精易论坛

标题: 多线程问题 [打印本页]

作者: 你送的花开了    时间: 2024-3-5 14:39
标题: 多线程问题
  
子程序名返回值类型公开备 注
_按钮_开始_被单击  
如果真 (局_总数量.取剩余行数 () = 0)
信息框 (“请先导入账号”, 48, , )
返回 ()

如果真 (局_工作线程.创建 (&线程_初始化, , , , , , , , ))
按钮_开始.禁止 = 真
G_开始时间 = 取启动时间 ()
时钟1.时钟周期 = 1000
透明标签4.标题 = “运行中”

子程序名返回值类型公开备 注
线程_初始化  
变量名类 型静态数组备 注
index整数型 
i整数型 
int整数型 
部_总任务数整数型 
已投递数量整数型 
空闲线程数量整数型 
单次投递数量整数型 
线程数量整数型 
部_总任务数 = 局_总数量.取剩余行数 ()
线程数量 = 到整数 (编辑框_线程数量)
连续赋值 (0, G_完成数量, G_失败)
已投递数量 = 0
窗口1.标题 = “[”时间_格式化 (取现行时间 (), “yyyy-M-d ”, “hh:mm:ss”, 真, )“]”
如果真 (局_线程池.创建 (线程数量, 线程数量, , , ))
计次循环首 (部_总任务数, )
局_线程池.投递任务 (&工作线程, , )
Sleep (10)
计次循环尾 ()

判断循环首 (局_线程池.取_是否空闲 ())
如果真 (局_线程池.取_状态 () = 3)
跳出循环 ()
Sleep (10)
判断循环尾 ()
按钮_开始.禁止 = 假
局_线程池.销毁 (3, , )
透明标签4.标题 = “未运行”


i支持库列表   支持库注释   
iext扩展界面支持库一


数据导入用的 “快速文本对象+代理ip提取” 模块  拖放对象那直接压入文件地址 在工作线程里弹出然后进行处理

工作线程内容:数据弹出 分割数据为1和2 计次循环进行处理网页访问请求(请求为单独子程序返回内容进行循环内判断是否跳出)

现在出现问题是 设置50线程实际处理为1线程 一个处理完才进行下一个 有点懵  是线程池有什么问题吗还是别的什么原因  琢磨半天没解决


补充内容 (2024-3-5 14:41):
线程池也试了别的写法 也是执行线程为1
作者: yaoming110    时间: 2024-3-5 15:11
用精易的 线程池.启动 (&工作线程, , ) 看看
作者: houtian    时间: 2024-3-5 15:14
  
如果真 (局_线程池.创建 (线程数量, 线程数量, , , ))
返回 ()

判断循环首 ()
如果 (局_线程池.取_空闲线程数 () > 0)
局_线程池.投递任务 (&工作线程, , )
Sleep (10)

局_线程池.等待任务动态 ()

判断循环尾 ()


试试这样
作者: 你送的花开了    时间: 2024-3-5 15:19
houtian 发表于 2024-3-5 15:14
[e=1].版本 2

.如果真 (局_线程池.创建 (线程数量, 线程数量, , , ))

这样直接没反应了
作者: 你送的花开了    时间: 2024-3-5 15:19
yaoming110 发表于 2024-3-5 15:11
用精易的 线程池.启动 (&工作线程, , ) 看看

工作线程是投递任务....

补充内容 (2024-3-5 15:20):
开始按钮那块用jy的线程_启动试过了
作者: houtian    时间: 2024-3-5 15:22
你送的花开了 发表于 2024-3-5 15:19
这样直接没反应了

把判断里面的等于假   创建失败就返回  手打的忘记加了
作者: 没事瞎琢磨    时间: 2024-3-5 15:26
把这个   局_工作线程.创建 (&线程_初始化, , , , , , , , )

换成 启动线程(&线程_初始化,) 试试




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