• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cadl
4.77D
V2EX  ›  程序员

各位公司中的后端项目要求代码必须线程安全吗?

  •  1
     
  •   cadl · Sep 20, 2018 · 4330 views
    This topic created in 2823 days ago, the information mentioned may be changed or developed.

    各位公司中的后端项目要求代码必须线程安全吗?

    如果需要引入一个线程不安全的第三方依赖,会如何统一处理呢?

    以及有人来 review 第三方依赖是否线程安全吗?

    (语言不限)

    13 replies    2018-09-20 14:21:04 +08:00
    xuanbg
        1
    xuanbg  
       Sep 20, 2018
    异步的业务涉及到的代码必须线程安全,同步的建议但不做要求。
    如果必须要引入线程不安全的第三方依赖,那你理论上除了同步还是同步。
    AngelCriss
        2
    AngelCriss  
       Sep 20, 2018 via Android
    这个是我自己的要求。。
    myzWILLmake
        3
    myzWILLmake  
       Sep 20, 2018   ❤️ 2
    多线程交互业务要是不保证线程安全,这个你敢上线么...
    xxkd5851768
        4
    xxkd5851768  
       Sep 20, 2018
    @AngelCriss 我们都一样。。。
    yulon
        5
    yulon  
       Sep 20, 2018
    如果依赖内部有多线程,那就打死依赖的作者;如果依赖内部是单线程,那就自己做线程安全呗=。=
    yanaraika
        6
    yanaraika  
       Sep 20, 2018
    actor model
    neoblackcap
        7
    neoblackcap  
       Sep 20, 2018   ❤️ 1
    库没有说,默认线程不安全,自己 review 或者加锁
    yidinghe
        8
    yidinghe  
       Sep 20, 2018
    做不到线程安全的话难道不会出 BUG ?
    zwh2698
        9
    zwh2698  
       Sep 20, 2018   ❤️ 1
    请在网上找一份华为安全编程规范,其中不但有要求,并且有解决方案
    cadl
        10
    cadl  
    OP
       Sep 20, 2018
    @yidinghe 所以就有很多限制。比如代码里完全避免使用多线程,服务也是按类似 pre-fork 的方式来跑。
    cadl
        11
    cadl  
    OP
       Sep 20, 2018
    @zwh2698 有点意思,去搜搜参考下,多谢
    janxin
        12
    janxin  
       Sep 20, 2018 via iPhone
    出 bug 你都不一定好找位置…
    wizardforcel
        13
    wizardforcel  
       Sep 20, 2018
    后端避不开多线程,你不手动创建,但是服务器会创建。除非是 node 这种明确了单线程异步的环境,但这种很少很少。

    我一直是默认所有对象是线程不安全的,除非文档里有特殊说明。该加锁就加锁也没啥。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   939 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 22:14 · PVG 06:14 · LAX 15:14 · JFK 18:14
    ♥ Do have faith in what you're doing.