#每日新闻
# 2020-2-17 每日新闻
# FB: http://bit.ly/2UizW6X
# 跟朋友PK写程式的网站
如果有一些嘴炮在那边吵就直接来pk
https://binarysearch.io/
# Rust: prodash可以同时显示多个程式运行进度
http://bit.ly/38zsitd
# Rust: 比较不同的RwLock
在futures_locks::RwLock的情况下,读取器和写入器独立排队。
调度程序无法将锁获取与该模型交错。测试的异步版本显示了预期的“Reader 饿死”行
为。
async_std::sync::RwLock不会显式地将任务排队,
而是依赖于一个双态计数器,该计数器可以“锁定写入”或“由n个Reader 锁定”。
这种实现方式的麻烦在于,双态计数器可能永远保持读取状态。
获取读取锁的唯一要求是写入器不持有该锁。这使Reader让Writer挨饿。
futures_util::lock::RwLock具有与async-std中非常相似的实现。
由于这是一个开放的(并且正在运行!)PR,因此作者对我的报告做出了回应。
而且我怀疑这种实施方案将在审查之前解决饥饿问题。
最后,tokio::sync::RwLock使用waiter队列,
其中Reader从信号量中获取1个许可,而Writer则获得所有许可。
服务员队列按FIFO顺序交错读写锁定获取,
因此它确实提供了公平的锁定策略!万岁!
http://bit.ly/2u2KzA8
# Java: SocialInfo4J 可从社群网站取得资料
可从fb ig 拿资料
http://bit.ly/2uQ8vXV
# Go: resilient service worker
http://bit.ly/2PfoQfZ