- 主题:有没啥专用于线程间的消息通信的库?
学习了
【 在 hgoldfish 的大作中提到: 】
: 不是 native,有个词叫做 naive algorithm,可以看看。
: 在这里 naive 被翻译成朴素,而不是天真。
: 朴素实现并不是更坏。通常更容易理解与维护。比如 musl 的算法,经常采用比较朴素的算法而不是像 glibc 那样疯狂优化每种 CPU 平台都写个汇编实现。但朴素实现通常也意味着缺少优化,缺少考虑边界场景。
: ...................
--
FROM 183.173.114.*
实现各java的ConcurrentHashMap试试
【 在 ylh0315 的大作中提到: 】
: 所以把楼主的问题抽象一下。
: 生产者线程:
: mutex_lock()
: ...................
--
FROM 221.219.211.*
这有点小问题。消费者在持锁的情况下等待,会死锁,因为生产者拿不到锁,就无法向队列里生成数据
【 在 ylh0315 的大作中提到: 】
: 所以把楼主的问题抽象一下。
: 生产者线程:
: mutex_lock()
: ...................
--
FROM 221.218.160.*
实际运用中不会这么简单
比如可能多个模块需要互发消息
在比如可能需要应答机制
甚至还要考虑跨进程
总之,写个例子谁都会写,但是作为工程基础库那要考虑的事情太多了。
【 在 ylh0315 的大作中提到: 】
: 所以把楼主的问题抽象一下。
: 生产者线程:
: mutex_lock()
: ...................
--来自微微水木3.5.14
--
FROM 222.64.90.*
还有些复杂点的考虑,比如
1、消息是同步的,还是异步的
2、消息有没超时,超时后需要取消吗
3、消息需要回应消息吗?还是通过callback来实现回应?
。。。
所以,楼主的这种“一句话需求”,没啥好讨论的,你们尽情脑补好了
【 在 ylh0315 的大作中提到: 】
: 哪有那么费事,libc里一大堆pthread_打头的函数。
: 我都是用这些函数进行线程间通信。
: 实在不行,还有fifo,pipe,socket。信号量,signalfd,timerfd,eventfd,epoll。。。。
: ...................
--
FROM 221.218.160.*
不是我的事啊
是楼主没明确需求,所以只能最大化考虑。要不回头他再补充几条需求给你们试试
对于“一句话需求”,我基本懒得看,因为既然提问的人都很懒,我何必呢
当然,活跃板块、灌灌水除外
【 在 ylh0315 的大作中提到: 】
: 这都是你自己的事。
--
修改:z16166 FROM 221.218.160.*
FROM 221.218.160.*
您也搞了多年软件项目,应该知道客户最开始的简单一句话需求,到后来会细化成什么样的需求
【 在 ylh0315 的大作中提到: 】
: 你是指楼主,或者是编程者自己。
--
FROM 221.218.160.*
你的想法我不喜欢。太low level了。你让楼主自己决定吧。你也不要给我再推销你的了。
【 在 ylh0315 的大作中提到: 】
: 这个太复杂了,还得把JAVA搞进来,效率不行啊。
看看35楼,又省事又高效,轻松搞定数据分发。
消费者多线程就实现了数据...
--
FROM 80.187.112.*
这位真的有点井底之蛙了。唉
【 在 ylh0315 的大作中提到: 】
: 这个太复杂了,还得把JAVA搞进来,效率不行啊。
看看35楼,又省事又高效,轻松搞定数据分发。
消费者多线程就实现了数据...
--
FROM 80.187.112.*