说明
本功能基于鱼刺的多线程模块6.1修改而来
区别
主要是增加了以下几个命令:
1、投递任务Ex和取回数据Ex
投递任务Ex可以向执行子程序投递任意个内容,内容类型可以是基础类型、键值表、列表。执行子程序通过取回数据Ex来获取数据内容,返回参数数据除了键值表和列表型,其他的都会被自动转换为目标类型。
例:
YY线程池_.投递任务Ex (&任务EX, i, 创建键值表_ (“a”, i), “测试” + 到文本 (i), i + 9)
YY线程池_.取回数据Ex (数据指针, i, _键值表, _内容, _值文本)
2、投递任务_自定义类型和取回自定义类型
可投递任意多个自定义类型和自定义类型数组,需先全局使用映射_初始化才能使用。使用时先指定数据类型名,再传入数据类型,如:'数据类型1',_局部变量,如果是数组,需要在数据类型名后面加'[]',如:'数据类型1[]',_局部变量数组。返回参数数据必须和传入数据类型完全一致。
例:
YY线程池_.投递任务_自定义类型 (&任务_自定义, “数据类型1”, 数据类型1, “数据类型1[]”, 数据类型1数组)
YY线程池_.取回自定义类型 (数据指针, 数据类型1, 数据类型1数组)
3.等待
等待所有线程结束。可设置是否执行处理事件、最长等待时间
4.参数_打包_和参数_解包_
将多个任意基础类型、键值表、列表的数据打包为指针来传递,可通过参数_解包_获取内容。
其他
本功能写到了YYDS里面,然后也把鱼刺多线程模块的以下功能写入其中
1.鱼刺类_临近许可 --- YY临界许可_
2.鱼刺类_读写锁 --- YY读写锁_
3.鱼刺类_时钟 --- YY时钟_
4.鱼刺类_信号量 --- YY信号量_
5.鱼刺类_数据栈/队列 --- 存取队列YZC_ (基本重写,现在是双端的队列,可任意从顶部或底部压入弹出N个任意基础类型、键值表、列表的数据)
6.压缩包内有支持库、例子、更新记录、支持库检测更新.exe(跟支持库放llib,打开即可检查更新)
最后
感谢落的yyjson、鱼刺的多线程
|