|
1
1
我会尝试实现一些依赖性检查。类似于被拒绝的订单命令,在执行之前需要检查状态是否有效。 管理器/服务应该从列表中获取命令,应用其验证检查,如果验证未完成,则将其返回到列表。 当心饥饿,或是命令永远被困在名单上。 |
|
|
2
0
我们一直在使用 Smart Thread Pool 由AmiBar编写完成。它已经投入生产几年了,之所以被选中,是因为我们发现在.NET 1.1中的实现当时缺乏。 STP实现工作项组,如果将组的并发线程数设置为1,则可以使用这些工作项组对相关工作项进行排队。对于50-100个在线客户,我们在使用它时没有遇到任何问题。 |
|
|
3
0
我将创建一个方法将命令链接在一起,并使用事件通知其他命令完成、成功、失败或取消的命令。查看观察者模式( http://en.wikipedia.org/wiki/Observer_pattern )了解如何传递这些通知。另外,要注意命令中的循环依赖关系,因此如果两个命令相互等待,那么两个命令都不会执行。我可能会使用事件来实现这一点。 |
|
|
4
0
如果您使用的是线程池,那么您可能有一个请求队列。您可以向队列中的每个请求对象添加依赖请求的集合。当主请求完成时,让线程进程将队列上的从属请求作为主请求:
void PerformRequest(请求对象请求) { /…执行请求的对象 foreach(请求中的var dr.dependentRequests) 将请求添加到队列(dr); } |
|
|
A B · C#Excel自动调整列避免长文本时出错 9 月前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 9 月前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 9 月前 |
|
|
Duck0 · 这个对象在更高的帧率下会更快吗,因为它在Update()中? 10 月前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 10 月前 |