当大型项目由于共享突变而崩溃时,多任务处理似乎是一场灾难,我想说共享资源是由多个线程访问的。调试和跟踪错误的来源以及导致错误的原因变得非常困难。这让我问,有没有设计模式可以在设计multithreaded
程序时使用?
我非常感谢您对此的看法和评论,如果有人可以提出可以遵循的良好设计实践以使我们的程序线程安全,那将是一个很大的帮助。
当大型项目由于共享突变而崩溃时,多任务处理似乎是一场灾难,我想说共享资源是由多个线程访问的。调试和跟踪错误的来源以及导致错误的原因变得非常困难。这让我问,有没有设计模式可以在设计multithreaded
程序时使用?
我非常感谢您对此的看法和评论,如果有人可以提出可以遵循的良好设计实践以使我们的程序线程安全,那将是一个很大的帮助。
@WYSIWYG 链接似乎有很多有用的模式,但我可以给你一些指导方针。多线程程序问题的主要来源是更新操作或并发修改,一些较少发生的问题是饥饿、死锁等,如果我可以说这些问题更致命,所以为了避免这些情况,你可以:
设计模式用于解决特定问题。如果你想避免死锁并增加调试,有一些注意事项
用户线程安全库。.Net java、C++ 有自己的线程安全库。使用它们。不要试图创建自己的数据结构。
如果您使用的是 .Net,请尝试使用 Task 而不是线程。它们更符合逻辑和安全。
您可能想查看一些与并发相关的模式列表