我有一个需求,两个进程,一个向PIPE里发,一个取,但是取只需要最新的数据,之前的数据没有意义,完全可以丢弃。那请问:
1)Pipe有后进先出模式吗?
2)怎样丢弃之前送进去的数据?
我有一个需求,两个进程,一个向PIPE里发,一个取,但是取只需要最新的数据,之前的数据没有意义,完全可以丢弃。那请问:
1)Pipe有后进先出模式吗?
2)怎样丢弃之前送进去的数据?
你的需求就是:只是一个数据,而且新的有用,旧的没用。
那你用PIPE干嘛,直接锁一个变量不就行了。
或者pipe接收方自己弄两个进程,一个全力地消耗pipe覆写变量,另外一个只关心读这个变量就行了。
4 回答4.4k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
你的需求是两个进程,一个写,一个读,每次只读最新的数据
那么建议用内存共享的方式实现效率更高,比如用redis,一个进程一直写入redis的同一个key,另一个进程直接读取key值就可以了