简体   繁体   English

RxJava框架是无锁且无等待的吗?

[英]is RxJava framework lock-free & wait-free?

I am interested to know if RxJava framework is lock-free and wait-free like Lmax Disruptor? 我有兴趣知道RxJava框架是否像Lmax Disruptor一样是无锁和无等待的? Does it use techniques like cache line padding to avoid false sharing for better performance? 是否使用诸如高速缓存行填充之类的技术来避免错误共享,以获得更好的性能?

It does use padding to minimize false sharing, but it definitely uses queues (home grown) and locks, countdownlatch in some places like .merge/.flatmap etc... 它确实使用填充来最大程度地减少错误共享,但是它确实使用了队列(本地生成的)和锁,在.merge / .flatmap等某些地方使用了countdownlatch ...

I don't think any decent framework would dare use busy-wait spinning under the hood without telling it's user base. 我认为任何体面的框架都不会在不告知用户群的情况下敢于使用忙碌的等待旋转。 It would be excruciatingly expensive on CPU. 这在CPU上将是非常昂贵的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM