考虑到看板,我意识到SW开发方法背后的排队论显然也适用于并发软件。现在我在寻找这种思维是否在某些领域得到了明确的应用。
一个简单的例子:我们通常希望限制线程的数量,以避免缓存破坏(WIP-限制)。
在关于干扰者模式1的论文中,我发现一个有趣的说法是,生产者/消费者很少平衡,所以当使用队列时,要么消费者等待(队列为空),要么生产者产生的比消耗的更多,要么导致一个容量受限的队列,要么导致一个无约束队列炸掉并吞噬内存。在精益语中,两者都是浪费,而且增加了提前时间.
有没有人在编程中使用WIP限制、减少/消除队列、拉出或单件流的例子?
http://disruptor.googlecode.com/files/Disruptor-1.0.pdf
发布于 2011-11-01 09:13:26
WIP限制在编程中的典型应用是任何类型的池:
您知道您的资源在某种程度上受到了限制,您可以限制它们只允许特定数量的资源。请求资源的任何其他工作项都必须等到正在使用的任何资源返回到池中。
它还解决了昂贵的资源构造问题,并且在只生成少量的工作项(池的大小可以在允许的阈值之间动态变化)的情况下,可以进一步改进资源的管理。
发布于 2011-11-01 21:46:20
我最近刚看到了KanbanFlow模式,它似乎与你发布的“破坏者PDF”几乎完全相同。您可以看到对idea 这里的模拟。
https://softwareengineering.stackexchange.com/questions/117098
复制相似问题