V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  vduang  ›  全部回复第 1 页 / 共 1 页
回复总数  5
2021-02-09 21:21:02 +08:00
回复了 blacksmith 创建的主题 C++ c++中多线程操作 string 引发的 coredump,栈中比较奇怪的一点
@blacksmith 堆内存只要一乱,程序可能在任何使用堆内存的地方崩溃,崩溃的地方和 bug 的地方可能没有任何关联,这个现象是正常的,也是这样的问题难以排查的原因。

你这段代码的问题在于多个线程中 a->name 被并发赋值,导致 a->name (同时也是 local_name )指向的原来的堆内存被多次释放了,如果这段内存在被释放后又被重新分配出去被写入的话,local_name 指向的就是一堆垃圾了,所以即使你是在读取 localname,并没有修改 localname,程序也会在这里崩溃。

所以这段代码什么时候崩溃在哪崩溃纯看运气。
2020-11-22 02:37:22 +08:00
回复了 felix021 创建的主题 程序员 实战: 150 行 Go 实现高性能 socks5 代理
建议和其他开源 socks 代理对比下性能数据,这样比较有说服力。
2020-10-06 19:00:33 +08:00
回复了 nowjust 创建的主题 云计算 关于端口转发速率的疑问
@nowjust 换成啥协议了,是基于 udp 的协议吗?
2020-10-05 19:29:39 +08:00
回复了 nowjust 创建的主题 云计算 关于端口转发速率的疑问
端口转发没这么大损耗。做转发的时候实际占用带宽是你下载速度的 2 倍,所以你的 vps 下行速度已经达到 6m 了,可能已经接近带宽限制了。另外 dns 解析到的 ip 也可能影响下载速度,换成直接用 ip 去 wget 试试
@GeruzoniAnsasu begin 之类的是为了支持数组,数组不是类,没法像 vector 一样定义 begin 方法。c++17 的 size 也是一样的原因,都是为使用模板服务的场景服务的。 python 的 str 是为了支持 int 等基本类型,len 也是一样的
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1208 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 23:28 · PVG 07:28 · LAX 15:28 · JFK 18:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.