aying10010 发表于 2020-11-4 03:04:35

55555 小白多线程懵逼中

       学习简单得百度采集。任务还没跑完,它又投递了,然后就造成空线程永远不会变0.。。。。。学习中。 怎么解决,各位大哥大佬

------------------------------------------------------------------------------------
.版本 2
.支持库 EThread
.支持库 spec
.支持库 iext

.程序集 窗口程序集_启动窗口
.程序集变量 许可证, 整数型
.程序集变量 鱼刺队列, 鱼刺类_队列
.程序集变量 鱼刺多线程, 鱼刺类_线程池
.程序集变量 完成任务数, 整数型

.子程序 _按钮1_被单击
.局部变量 任务数, 整数型

许可证 = 创建进入许可证 ()
关键词队列进 ()
任务数 = 鱼刺队列.取队列长度 ()
鱼刺多线程.创建 (5, , )


.循环判断首 ()
    .如果真 (鱼刺多线程.取_空闲线程数 () > 0)

      鱼刺多线程.投递任务 (&关键词出, , )

      完成任务数 = 完成任务数 + 1
      延时 (1000)

      处理事件 ()
    .如果真结束

    .如果真 (完成任务数 ≥ 任务数 且 鱼刺多线程.取_空闲线程数 () = 5)

      信息框 (“完成”, 0, , )
      跳出循环 ()

    .如果真结束

    处理事件 ()

.循环判断尾 (1 = 1)




.子程序 关键词队列进
.局部变量 关键词, 文本型
.局部变量 关键词数组, 文本型, , "0"
.局部变量 i, 整数型


关键词 = 编辑框1.内容
关键词数组 = 分割文本 (关键词, #换行符, )

.计次循环首 (取数组成员数 (关键词数组), i)

    鱼刺队列.压入文本 (关键词数组 , )

.计次循环尾 ()

.子程序 关键词出
.局部变量 关键词, 文本型

鱼刺队列.弹出文本 (关键词)
进入许可区 (许可证)
百度采集 (关键词)
退出许可区 (许可证)

.子程序 百度采集
.参数 关键词, 文本型
.局部变量 返回数据, 文本型
.局部变量 正则, 正则表达式类
.局部变量 文本标题, 文本型
.局部变量 i, 整数型
.局部变量 表项, 整数型
.局部变量 文本链接, 文本型
.局部变量 ssss, 整数型

调试输出 (“到这了” + 关键词)

返回数据 = 编码_utf8到gb2312 (到文本 (网页_访问_对象 (“https://www.baidu.com/s?wd=” + 关键词, , , , , , , , , , , , , , , , , , )))

' https://www.baidu.com/s?wd=l%E9%98%BF%E9%83%8E
正则.创建 (#正则, 返回数据, , , , )

.计次循环首 (正则.取匹配数量 (), i)

    表项 = 超级列表框1.插入表项 (, , , , , )

    文本标题 = 正则.取子匹配文本 (i, 1, )
    文本链接 = 正则.取子匹配文本 (i, 2, )
    超级列表框1.置标题 (表项, 0, 到文本 (i))
    超级列表框1.置标题 (表项, 1, 文本标题)
    超级列表框1.置标题 (表项, 2, 文本链接)

    处理事件 ()
.计次循环尾 ()
完成任务数 = 完成任务数 + 1
调试输出 (完成任务数)


.子程序 _按钮2_被单击

百度采集 (“哈巴狗”)


aying10010 发表于 2020-11-4 13:15:25

电脑出错了,擦,起来就没事了

nietongchen 发表于 2021-1-3 13:57:26

666,万分感谢

yyz860723 发表于 2021-5-29 06:08:56

楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!

kay 发表于 2021-5-29 18:23:22

大哥,我也遇到这个问题,怎么处理了

我是的非凡人 发表于 2021-7-2 21:49:26

感谢分享

页: [1]
查看完整版本: 55555 小白多线程懵逼中