递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 9322|回复: 11
打印 上一主题 下一主题

[视窗] 【线程相关】线程与线程池回调函数任意参数

[复制链接]

6

主题

64

帖子

2597

积分

金牌会员

Rank: 6Rank: 6

积分
2597
跳转到指定楼层
楼主
发表于 2021-6-8 19:49:43 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 龙纹 于 2021-6-11 05:29 编辑

一个支持线程与线程池回调函数任意参数的例子, (6月11日更新) 这个帖子中的源码已经支持获取异步返回值.
线程池目前是拷贝传参, 而线程_启动bf 是传引用, 也就是支持方法内修改实例. 具体看图或下载代码运行




线程池_多参.zip (124.55 KB, 下载次数: 54)



评分

参与人数 1金钱 +3 收起 理由
呵呵仙8 + 3 很给力!

查看全部评分

火山PC交流群: 748413192
回复

使用道具 举报

6

主题

64

帖子

2597

积分

金牌会员

Rank: 6Rank: 6

积分
2597
12#
 楼主| 发表于 2021-6-13 16:02:31 | 只看该作者
本帖最后由 龙纹 于 2021-6-13 16:04 编辑
呵呵仙8 发表于 2021-6-13 00:40
你好,线程池还不是很完善,启用( )到关闭( ) 好像是一次性的!再次启用新建线程池数就会报错退出!即关了 ...

是的, 它是一次性的, 如果确实需要关闭之后再次使用, 目前只能新建一个. 减少线程数我应该会增加进去.
火山PC交流群: 748413192
回复

使用道具 举报

50

主题

567

帖子

2473

积分

金牌会员

Rank: 6Rank: 6

积分
2473
11#
发表于 2021-6-13 00:40:57 来自手机 | 只看该作者
你好,线程池还不是很完善,启用( )到关闭( ) 好像是一次性的!再次启用新建线程池数就会报错退出!即关了一次就没第2次了!多次创建线程数。发现可以增加线程数,但减不了线程数!能改完善它吗?买给官方也不错啊!最少现在官方还没有!!
回复

使用道具 举报

50

主题

567

帖子

2473

积分

金牌会员

Rank: 6Rank: 6

积分
2473
10#
发表于 2021-6-10 15:59:03 | 只看该作者
龙纹 发表于 2021-6-10 15:56
C++标准库中大部分的代码都可以跨平台而且保持行为一致, 但不是全部, 看编译器实现, 还有些东西依赖操作 ...

谢谢      
回复

使用道具 举报

6

主题

64

帖子

2597

积分

金牌会员

Rank: 6Rank: 6

积分
2597
9#
 楼主| 发表于 2021-6-10 15:56:26 | 只看该作者
呵呵仙8 发表于 2021-6-10 14:19
你是说,现在C++的命令写出的程序,都可以跨平台运行?这么牛吗?

C++标准库中大部分的代码都可以跨平台而且保持行为一致, 但不是全部, 看编译器实现, 还有些东西依赖操作系统.
火山PC交流群: 748413192
回复

使用道具 举报

50

主题

567

帖子

2473

积分

金牌会员

Rank: 6Rank: 6

积分
2473
8#
发表于 2021-6-10 14:19:16 | 只看该作者
龙纹 发表于 2021-6-9 20:21
我下载看了, 帮不了什么忙, IOCP差不多忘干净了, 唯一能想到的就是分两次传指针然后拼接起来, 但想想就.. ...

你是说,现在C++的命令写出的程序,都可以跨平台运行?这么牛吗?
回复

使用道具 举报

6

主题

64

帖子

2597

积分

金牌会员

Rank: 6Rank: 6

积分
2597
7#
 楼主| 发表于 2021-6-9 20:21:50 | 只看该作者
呵呵仙8 发表于 2021-6-9 16:17
这是传统API的写法,之前,用系统API写过一次,只能用于X86程序,64位程序不支持,现在换C++语法写,还是不 ...

我下载看了, 帮不了什么忙, IOCP差不多忘干净了, 唯一能想到的就是分两次传指针然后拼接起来, 但想想就...
想兼容的话可以用C++标准库写, 细节处理好跨平台都没问题...
火山PC交流群: 748413192
回复

使用道具 举报

50

主题

567

帖子

2473

积分

金牌会员

Rank: 6Rank: 6

积分
2473
6#
发表于 2021-6-9 16:17:40 | 只看该作者
龙纹 发表于 2021-6-9 13:42
线程_启动bf只是单纯的执行任务, 线程和线程池我应该会增加异步获取方法返回值这个功能, 所以没有返回句 ...

这是传统API的写法,之前,用系统API写过一次,只能用于X86程序,64位程序不支持,现在换C++语法写,还是不支持64位程序.那俩个函数是给线程池投递任务用的!!
线程传递自定义数据1.rar (235.1 KB, 下载次数: 6)





回复

使用道具 举报

17

主题

792

帖子

2742

积分

金牌会员

Rank: 6Rank: 6

积分
2742
5#
发表于 2021-6-9 14:28:37 | 只看该作者
都是牛人
回复

使用道具 举报

6

主题

64

帖子

2597

积分

金牌会员

Rank: 6Rank: 6

积分
2597
地板
 楼主| 发表于 2021-6-9 13:42:20 | 只看该作者
呵呵仙8 发表于 2021-6-8 22:10
单线程的线程_启动bf是不是创建成功就关闭线程句柄的?都不见线程数,也没返回值!!不是应该返回线程ID和线程 ...

线程_启动bf只是单纯的执行任务, 线程和线程池我应该会增加异步获取方法返回值这个功能, 所以没有返回句柄, 至于你说传指针的这个问题我也不太清楚你具体想做到什么, 加群聊吧? 748413192
火山PC交流群: 748413192
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 06:26 , Processed in 0.100553 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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