龙纹 发表于 2021-6-8 19:49:43

【线程相关】线程与线程池回调函数任意参数

本帖最后由 龙纹 于 2021-6-11 05:29 编辑

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








呵呵仙8 发表于 2021-6-8 22:10:22

单线程的线程_启动bf是不是创建成功就关闭线程句柄的?都不见线程数,也没返回值!!不是应该返回线程ID和线程句柄让用户操作吗?不过.线程池类bf很强大!!非常感谢!!
正在为写64位线程池痛苦中,用C++语言写GetQueuedCompletionStatus和PostQueuedCompletionStatus两函数只有4字节指针传递,没有8字节指针传递!!请问有何解决办法,谢谢!!

呵呵仙8 发表于 2021-6-8 22:12:14


龙纹 发表于 2021-6-9 13:42:20

呵呵仙8 发表于 2021-6-8 22:10
单线程的线程_启动bf是不是创建成功就关闭线程句柄的?都不见线程数,也没返回值!!不是应该返回线程ID和线程 ...

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

伟业 发表于 2021-6-9 14:28:37

都是牛人

呵呵仙8 发表于 2021-6-9 16:17:40

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

这是传统API的写法,之前,用系统API写过一次,只能用于X86程序,64位程序不支持,现在换C++语法写,还是不支持64位程序.那俩个函数是给线程池投递任务用的!!






龙纹 发表于 2021-6-9 20:21:50

呵呵仙8 发表于 2021-6-9 16:17
这是传统API的写法,之前,用系统API写过一次,只能用于X86程序,64位程序不支持,现在换C++语法写,还是不 ...

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

呵呵仙8 发表于 2021-6-10 14:19:16

龙纹 发表于 2021-6-9 20:21
我下载看了, 帮不了什么忙, IOCP差不多忘干净了, 唯一能想到的就是分两次传指针然后拼接起来, 但想想就.. ...

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

龙纹 发表于 2021-6-10 15:56:26

呵呵仙8 发表于 2021-6-10 14:19
你是说,现在C++的命令写出的程序,都可以跨平台运行?这么牛吗?

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

呵呵仙8 发表于 2021-6-10 15:59:03

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

谢谢      
页: [1] 2
查看完整版本: 【线程相关】线程与线程池回调函数任意参数