首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

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

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

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

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

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

    (语言不限)

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

    我一直是默认所有对象是线程不安全的,除非文档里有特殊说明。该加锁就加锁也没啥。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2925 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 11:18 · PVG 19:18 · LAX 04:18 · JFK 07:18
    ♥ Do have faith in what you're doing.