- 主题:c++太复杂了,我承认这几行代码我一辈子写不出来
ring buffer如果一个生产者,n个消费者,压根不用任何锁,atomic压根不需要
咱们级别类似,看你连我刚毕业的水准也不如啊
【 在 poocp 的大作中提到: 】
: 那是以前的C++没有提供足够的原子操作,不得不使用汇编而已,完全不值得提倡推广,更不用沾沾自喜。
: 我早都把这种无锁原子操作换成用std::atomic,使用新的C++标准来实现了,能不用汇编尽量不用汇编。
: 随便贴一个我写的无锁环形字符串队列的std::atomic实现。功能是对于多线程竞争更新的字符串内容,无锁让所有更新得到满足,但仅仅最后一个更新有效可读,读的过程中无锁接受新的线程更新请求。类似于一堆线程读写一个全局变量,但不用对这个全局变量上锁,限制是最近一次成功更新有效。
: ...................
--
FROM 59.108.209.*
贝尔实验室的
【 在 buildtolast 的大作中提到: 】
: 大佬,c++先放一边,大家还是对你和rob pike/ken thompson作同事比较感兴趣。
:
--
FROM 59.108.209.*
没有,不过和stallman交流过
【 在 buildtolast 的大作中提到: 】
: 那厉害了,和神共事过,有交流吗?
:
--
FROM 120.245.115.*
我确实不如你,快三十了才读完x86和power pc两本汇编手册
不过我当年尿炕的时候,其实不是尿炕,那是写basic语言,哈哈哈
【 在 poocp 的大作中提到: 】
: 我12岁时用6502汇编写 Apple ][ 的软驱控制程序,所以按你的类比,你那个沾沾自喜的内嵌汇编,咱们级别类似,看你连我12岁的水准都不让啊。
: 讨论C++就别东拉西扯些别的来找优越感。
:
--
FROM 120.245.115.*
才看到了你要干什么
真是服了,你弄个share_ptr 不就得了?加个自旋锁这点访问量有什么问题?
你弄这个大个内存,系统内存不要钱啊?
【 在 poocp 的大作中提到: 】
: 那是以前的C++没有提供足够的原子操作,不得不使用汇编而已,完全不值得提倡推广,更不用沾沾自喜。
: 我早都把这种无锁原子操作换成用std::atomic,使用新的C++标准来实现了,能不用汇编尽量不用汇编。
: 随便贴一个我写的无锁环形字符串队列的std::atomic实现。功能是对于多线程竞争更新的字符串内容,无锁让所有更新得到满足,但仅仅最后一个更新有效可读,读的过程中无锁接受新的线程更新请求。类似于一堆线程读写一个全局变量,但不用对这个全局变量上锁,限制是最近一次成功更新有效。
: ...................
--
FROM 120.245.115.*
你对C14确实比我熟,但是问题是你堆了一堆代码,用非常复杂的方法解决了一个非常简单的问题,程序运行开销远远不是你以为的atomic原子操作,windows申请释放内存就是带锁的,并且释放内存消耗很大。
所以不管是程序运行开销,软件系统可维护性,你这个方案都不如直接弄个share_ptr简单搞一下,几行代码。
所以,你说你对C14更了解,带来了什么?更高的运行耗时,运行内存,更高的维护成本,更复杂的系统逻辑。
【 在 poocp 的大作中提到: 】
: 你既然已经出来了14年的C++11都没兴趣了解,那我简单说一下自旋锁和std::atomic的关系吧。
: 自旋锁是基于std::atomic实现的同步原语,用于短临界区互斥。
: std::atomic是更底层的原子操作工具,可直接用于无锁编程或构建高级同步机制(如自旋锁、无锁数据结构)。
: ...................
--
FROM 120.245.115.*
真是服了你了,我这几年搞得系统,业界基本独步 ,我们这些人压根不在乎什么新东西,我们在乎能不能赚钱,你懂吗?技术新不新无所谓,业界能不能领先,能不能赚钱才是关键。
【 在 poocp 的大作中提到: 】
: 你既然已经出来了14年的C++11都没兴趣了解,那我简单说一下自旋锁和std::atomic的关系吧。
: 自旋锁是基于std::atomic实现的同步原语,用于短临界区互斥。
: std::atomic是更底层的原子操作工具,可直接用于无锁编程或构建高级同步机制(如自旋锁、无锁数据结构)。
: ...................
--
FROM 120.245.115.*
就事论事,我再老年人,也可以秒你,也不会写这么垃圾的代码,让豆包写一下,看看豆包听你的还是我的?都这年纪了,还没有学会就事论事,天天都扯西扯。
【 在 poocp 的大作中提到: 】
: 说明你还是没看懂,又扯到内存申请和释放上了,或者完全没看,所以说的只是一个老年人在思维固化后,对C++新功能的刻板印象而已。
:
--
修改:smartbear FROM 120.245.115.*
FROM 120.245.115.*
豆包答案
【 在 poocp 的大作中提到: 】
: 说明你还是没看懂,又扯到内存申请和释放上了,或者完全没看,所以说的只是一个老年人在思维固化后,对C++新功能的刻板印象而已。
:


--
FROM 120.245.115.*