开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 227|回复: 2
打印 上一主题 下一主题
收起左侧

[易语言] 鱼刺多线程问题

[复制链接]
结帖率:92% (34/37)
跳转到指定楼层
楼主
发表于 4 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   广东省深圳市
30精币
在多线程请求API中,我使用24条线程请求200次,跟单条线程请求200次,时间相差不大。有大佬了解不

  
窗口程序集名保 留  保 留备 注
(未填写程序集名)   
变量名类 型数组备 注
变量名类 型数组备 注
线程池鱼刺类_线程池  
单号数组文本型0 
transId文本型  
transactionSrc文本型  
OAuthToken是否取得逻辑型  
token_type文本型  
access_token文本型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
单号数组 = 分割文本 (取剪辑板文本 (), #换行符, )
子程序名返回值类型公开备 注
_按钮1_被单击  
启动线程 (&主线程, , )
子程序名返回值类型公开备 注
主线程  
变量名类 型静态数组备 注
剩余任务数整数型 
总任务数整数型 
i整数型 
temp_线程池鱼刺类_线程池 
n逻辑型 
jy_GetToken类_json 
TokenError文本型 
返回的Token文本型 
transId = “ID”
transactionSrc = “SCR”
如果真 (OAuthToken是否取得 = )
返回的Token = ups_GetAccessToken (transId, transactionSrc)
jy_GetToken.解析 (返回的Token)
token_type = jy_GetToken.取通用属性 (“['token_type']”)
access_token = jy_GetToken.取通用属性 (“['access_token']”)
OAuthToken是否取得 = 真

线程池.创建 (24, , , )  ' //创建24个线程
总任务数 = 200
计次循环首 (总任务数, i)  ' //每个线程执行1个并发任务
线程池.投递任务 (&API请求方法, i, )
计次循环尾 ()
判断循环首 (线程池.取_是否完全空闲 ())
剩余任务数 = 线程池.取_执行线程数 () + 线程池.取_队列任务数 ()
判断循环尾 ()
子程序名返回值类型公开备 注
API请求方法  
参数名类 型参考可空数组备 注
参_附加参数整数型
变量名类 型静态数组备 注
待解析Json文本型 
调试输出 (“这是第:”到文本 (参_附加参数)“>>线程”)
待解析Json = ups_抓包_详细数据 (单号数组 [参_附加参数], “zh_CN”)
' ///
子程序名返回值类型公开备 注
ups_抓包_详细数据文本型 本命令由【精易网页调试助手】生成,请配合精易模块使用。
参数名类 型参考可空数组备 注
待抓取单号文本型
语言文本型
变量名类 型静态数组备 注
局_网址文本型 
局_方式整数型 
局_提交数据文本型 
ADD_协议头类_POST数据类 
局_提交协议头文本型 
局_结果字节集 
局_返回文本型 
TarckerNumber文本型 
jy类_json 
返回单号文本型 
返回最新轨迹文本型 
局_网址 = “https://onlinetools.ups.com/api/track/v1/details/{” + 待抓取单号 + “}?locale=” + 语言 + “&returnSignature=false”
局_方式 = 0
ADD_协议头.添加 (“Authorization”, token_type + “ ” + access_token)
ADD_协议头.添加 (“Content-Type”, “application/json”)
ADD_协议头.添加 (“transId”, transId)
ADD_协议头.添加 (“transactionSrc”, transactionSrc)
局_提交协议头 = ADD_协议头.获取协议头数据 ()
局_提交协议头 = ADD_协议头.获取协议头数据 ()
局_结果 = 网页_访问 (局_网址, 局_方式, , , , 局_提交协议头, , , , , )
局_返回 = 到文本 (编码_编码转换对象 (局_结果))
jy.解析 (局_返回)
返回单号 = JY.取通用属性 (“trackResponse.shipment[0].inquiryNumber”)  ' //TW0001=未找到跟踪信息 空=有效
返回最新轨迹 = jy.取通用属性 (“trackResponse.shipment[0]['package'][0].currentStatus.description”)
调试输出 (返回单号, 返回最新轨迹, 取现行时间 ())
返回 (局_返回)
子程序名返回值类型公开备 注
ups_GetAccessToken文本型 本命令由【精易网页调试助手】生成,请配合精易模块使用。
参数名类 型参考可空数组备 注
transId文本型
transactionSrc文本型
变量名类 型静态数组备 注
局_网址文本型 
局_方式整数型 
局_提交数据文本型 
ADD_协议头类_POST数据类 
局_提交协议头文本型 
局_结果字节集 
局_返回文本型 
局_网址 = “https://onlinetools.ups.com/security/v1/oauth/token”
局_方式 = 1
局_提交数据 = “grant_type=client_credentials”
ADD_协议头.添加 (“Content-Type”, “application/x-www-form-urlencoded”)
ADD_协议头.添加 (“x-merchant-id”, “string”)
ADD_协议头.添加 (“Authorization”, “Basic”“ ”编码_BASE64编码 (到字节集 (transId + “:” + transactionSrc)))
ADD_协议头.添加 (“User-Agent”, “Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko”)
局_提交协议头 = ADD_协议头.获取协议头数据 ()
局_结果 = 网页_访问 (局_网址, 局_方式, , , , 局_提交协议头, , , 到字节集 (局_提交数据), , )
局_返回 = 到文本 (编码_编码转换对象 (局_结果))
返回 (局_返回)


i支持库列表   支持库注释   
EThread多线程支持库
spec特殊功能支持库


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:84% (26/31)

签到天数: 10 天

沙发
发表于 4 天前 | 只看该作者   河南省周口市
看起来没啥问题, 我猜差距不大应该是环境问题或者测试有误
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 11 天

板凳
发表于 4 天前 | 只看该作者   北京市北京市
线程不是越多越好,一般看CPU核心数,Windows系统下,任务管理器-性能-逻辑处理器
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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