gpt4 book ai didi

multithreading - 多线程设计模式

转载 作者:行者123 更新时间:2023-12-03 11:58:55 25 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




当大项目由于共享突变而崩溃时,多任务处理似乎是一场灾难,我会说共享资源被多个线程访问。调试和追踪错误的来源以及导致错误的原因变得非常困难。不禁想问,有没有设计模式可以在设计时使用multithreaded程式?

我非常感谢您对此的看法和评论,如果有人可以提出可以遵循的良好设计实践来使我们的程序线程安全,这将是一个很大的帮助。

最佳答案

@WYSIWYG 链接似乎有很多有用的模式,但我可以给你一些指导方针。多线程程序问题的主要来源是更新操作或并发修改,一些较少出现的问题是饥饿、死锁等,如果我可以说,这些问题更致命,因此为了避免这些情况,您可以:

  • 利用 Immutable Object模式,如果一个对象在创建后不能被修改,那么你不能有不协调的更新,正如我们所知,在你的情况下,JVM 保证创建操作本身是原子的。
  • Command Query Segregation Principle :这是将对象与读取它们的代码分开的代码,因为读取可以同时发生,但修改不能。
  • 充分利用您正在使用的语言和库功能,例如并发列表和线程结构,因为它们设计精良且性能良好。
  • 有一本书(虽然是旧的)但设计非常好
    这样的系统,它被称为Concurrent Programming in Java .
  • 关于multithreading - 多线程设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263335/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com