各位公司中的后端项目要求代码必须线程安全吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
cadl
26.77D
V2EX    程序员

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

  •  1
     
  •   cadl 2018-09-20 11:53:26 +08:00 3737 次点击
    这是一个创建于 2578 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    (语言不限)

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

    我一直是默认所有对象是线程不安全的,除非文档里有特殊说明。该加锁就加锁也没啥。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1073 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 79ms UTC 18:20 PVG 02:20 LAX 11:20 JFK 14:20
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86