递归火山软件开发平台

标题: curl的网络访问类是不是不支持多线程并发 [打印本页]

作者: domingo    时间: 2024-8-16 11:32
标题: curl的网络访问类是不是不支持多线程并发

自己写了一个多线程,调用了curl类库,然后发现开多线程后很卡,CPU占用很高。

但是加锁后就没问题了,是不是这个类库不支持多线程并发。




作者: 创世魂    时间: 2024-8-16 21:22
有个清理方法可以释放资源,访问完毕后清理一下。
作者: Xelloss0618    时间: 2024-8-16 22:28
本帖最后由 Xelloss0618 于 2024-8-16 22:29 编辑

CURL有两个接口,官方封装的这个不支持多线程并发,需要加锁。
CURL还有个并发接口,PIV模块里有封装,但也不咋好用。
作者: domingo    时间: 2024-8-17 07:27
创世魂 发表于 2024-8-16 21:22
有个清理方法可以释放资源,访问完毕后清理一下。

好的,谢谢
作者: domingo    时间: 2024-8-17 07:29
Xelloss0618 发表于 2024-8-16 22:28
CURL有两个接口,官方封装的这个不支持多线程并发,需要加锁。
CURL还有个并发接口,PIV模块里有封装,但也 ...

这样子啊,不知道大佬知道 有哪个模块 有支持多线程POST的方法吗?PIV、火山、乐易、精易?
作者: Xelloss0618    时间: 2024-8-17 09:30
domingo 发表于 2024-8-17 07:29
这样子啊,不知道大佬知道 有哪个模块 有支持多线程POST的方法吗?PIV、火山、乐易、精易? ...

多线程有两种用法:
1、在线程里用网络访问类的局部变量,别搞成员或全局变量即可;
2、用异步访问接口,目前应该只有PIV模块里有封装,包括curl和WinHTTP
作者: domingo    时间: 2024-8-17 11:21
Xelloss0618 发表于 2024-8-17 09:30
多线程有两种用法:
1、在线程里用网络访问类的局部变量,别搞成员或全局变量即可;
2、用异步访问接口, ...

我的就是局部变量。。。
作者: Xelloss0618    时间: 2024-8-17 12:29
domingo 发表于 2024-8-17 11:21
我的就是局部变量。。。

说明网络库的初始化和释放都比较耗时




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4