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

两个项目同时进行,大家能多线程操作吗

  •  2
     
  •   nery · 2021-03-02 10:52:48 +08:00 · 8218 次点击
    这是一个创建于 1364 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,两个项目都很急,老板要同时进行,但就我一个程序员,在专注做一个项目过程中,随时有可能插入另一个项目的优先级较高的功能,程序员不是讲究的一个专注吗,大家有遇到这种情况吗,如何处理的。

    83 条回复    2021-03-03 16:15:43 +08:00
    terranboy
        1
    terranboy  
       2021-03-02 10:56:00 +08:00
    分时间段吧
    lostc
        2
    lostc  
       2021-03-02 10:58:52 +08:00
    程序猿开多线程不是日常操作吗
    fhsan
        3
    fhsan  
       2021-03-02 11:05:50 +08:00
    我都是分时间段做,不会随便切来切去的
    liuxey
        4
    liuxey  
       2021-03-02 11:06:18 +08:00   ❤️ 10
    自己都不能多线程,凭什么要求服务器多线程
    no1xsyzy
        5
    no1xsyzy  
       2021-03-02 11:07:47 +08:00
    比如番茄?
    nery
        6
    nery  
    OP
       2021-03-02 11:08:36 +08:00
    关键词是前面的思路被打断,不觉得很痛苦嘛。
    Joker123456789
        7
    Joker123456789  
       2021-03-02 11:15:46 +08:00
    厉害了,还是串行的。 如果能并行就好了
    clf
        8
    clf  
       2021-03-02 11:16:05 +08:00   ❤️ 1
    这个看给多少钱了。钱多的话上午开发一个,午觉后开发另外一个。钱少的话完成一个就行。
    xuanbg
        9
    xuanbg  
       2021-03-02 11:17:52 +08:00
    日常多开
    qwertyzzz
        10
    qwertyzzz  
       2021-03-02 11:20:35 +08:00
    分时间段吧
    tomczhen
        11
    tomczhen  
       2021-03-02 11:22:29 +08:00 via Android   ❤️ 40
    多翻几次车,弄几个重大 bug,你们老板才会知道什么叫上下文切换成本。
    zhuangzhuang1988
        12
    zhuangzhuang1988  
       2021-03-02 11:26:14 +08:00 via Android
    看钱
    peper
        13
    peper  
       2021-03-02 11:27:22 +08:00
    我搞过 3 个项目, 同时来需求, 目前已提离职. 这东西看钱
    CEBBCAT
        14
    CEBBCAT  
       2021-03-02 11:32:30 +08:00   ❤️ 1
    大体上还是要保证工作的连贯的,频繁切换不仅带来时间的浪费,错误率也会大大提高。

    这也不是一种健康的开发周期吧
    pengjl
        15
    pengjl  
       2021-03-02 11:33:09 +08:00
    日常多开,开发时还好,不过到改 bug 时就有点难受了
    yuxi521
        16
    yuxi521  
       2021-03-02 11:34:32 +08:00
    一般串行,并行玩不来
    litchinn
        17
    litchinn  
       2021-03-02 11:40:47 +08:00   ❤️ 1
    同意 14 楼,最多接受以一个任务点为单位,做完一个功能项再切换,不然真的容易出错,特别是如果两个项目使用的框架有较大差别的话
    jadeborner
        18
    jadeborner  
       2021-03-02 11:43:49 +08:00
    同语言的可以,不同语言的我不能
    alw
        19
    alw  
       2021-03-02 11:45:07 +08:00   ❤️ 1
    工资能多线程地发?
    说白了,就是收多少钱做多少事,对得住工资就行了,先做重要紧急的,其它能排后就排后。
    fengjianxinghun
        20
    fengjianxinghun  
       2021-03-02 11:48:09 +08:00   ❤️ 2
    日常多开,而且是完全不同得语言和领域。
    比如上午 cpp/rust 底层 下午 python/go curd 晚上写游戏。
    qiayue
        21
    qiayue  
       2021-03-02 11:49:43 +08:00
    日常多开,同时进行 N 个项目,无缝转换
    xiaoDevil
        22
    xiaoDevil  
       2021-03-02 11:50:03 +08:00   ❤️ 1
    这不是很正常的一件事么,正在做一个事情的时候突然有另一个优先级更高的需要处理,那就先把手头的东西收拾一下做另一件就是了
    Leonard
        23
    Leonard  
       2021-03-02 11:50:55 +08:00
    无所谓,不影响,时间和钱给够就行
    sillydaddy
        24
    sillydaddy  
       2021-03-02 11:54:05 +08:00   ❤️ 1
    之前试过 2 个项目并行,2 个项目经理穿插着来交流需求、催更新、要时间节点。真的压力很大。总是会在做一个项目的时候担心另一个项目。相互串扰。
    jmyz0455
        25
    jmyz0455  
       2021-03-02 11:56:20 +08:00
    这不是程序员的日常嘛?
    luozic
        26
    luozic  
       2021-03-02 11:59:33 +08:00 via iPhone   ❤️ 1
    cpu 有多个核,人只有一个,并发不并行。
    Aleaf
        27
    Aleaf  
       2021-03-02 11:59:48 +08:00
    日常操作,但是看钱
    sillydaddy
        28
    sillydaddy  
       2021-03-02 12:03:20 +08:00   ❤️ 2
    对于这种情况,你可以看一下“敏捷开发”这种开发理念。它的特点就是能快速应变。

    简单点说,就是在单个敏捷周期内,比如 1 周,开发人员不受干扰地开发预定的任务,不管外界变化如何。但这个周期过后,要重新分析规划任务、及时调整优先级,以应对需求的变化等等。

    比如项目 2 突然有了优先级高的任务,那请把它延迟到下周。然后把项目 1 原定的下周任务调整一遍,在可用时间减少的情况下,砍掉优先级低的,保证优先级高的。

    但如果老板要求要随时介入,随时能修改任务,那谁也没办法。
    czfy
        29
    czfy  
       2021-03-02 12:27:44 +08:00
    项目并行,不是大多数岗位都会遇到的情况吗...
    jadeborner
        30
    jadeborner  
       2021-03-02 12:38:20 +08:00
    @fengjianxinghun 传说中的样样都会样样都不行?
    alanlanqiu
        31
    alanlanqiu  
       2021-03-02 12:45:49 +08:00   ❤️ 1
    多线程 服务资源共享 核心数据加锁, 问题不大
    redtea
        32
    redtea  
       2021-03-02 12:55:30 +08:00   ❤️ 1
    git stash
    togou
        33
    togou  
       2021-03-02 14:35:00 +08:00
    我只能同步 并行
    DinoStray
        34
    DinoStray  
       2021-03-02 14:41:08 +08:00
    我不行, 效率会降低好几倍
    renmu123
        35
    renmu123  
       2021-03-02 15:43:51 +08:00
    我有三四个项目同时要干,有的前端,有的是后端,有的是数据分析。
    zhuweiyou
        36
    zhuweiyou  
       2021-03-02 15:48:59 +08:00
    日常并行
    pekki
        37
    pekki  
       2021-03-02 16:01:50 +08:00   ❤️ 1
    工作中这种一份活没搞完来另一件任务的事也太常见了。
    至于生活中,我经常从写小说中切换到重新架构程序,写文学性的东西是非常感性的,编程又是极度理性的。
    ClutchBear
        38
    ClutchBear  
       2021-03-02 16:23:09 +08:00
    python nlp 数据处理,
    spring boot 标注系统来人工标注 nlp 处理不正确的数据.

    昨天写 python , 今天写 java, 后台写 python
    yanulg
        39
    yanulg  
       2021-03-02 16:26:06 +08:00
    小事穿插很正常,大需求不叠加,一个一个来
    useben
        40
    useben  
       2021-03-02 17:14:59 +08:00
    这样容易翻车
    ward56
        41
    ward56  
       2021-03-02 18:02:03 +08:00   ❤️ 1
    多线程在各行业都会有的,先从个人入手,提升自己。
    实在不行可以从流程入手。
    这种情况就体现了 jira 的用途,可以查询下项目周期和流程管理方面的资料,从迭代过程优化。
    ward56
        42
    ward56  
       2021-03-02 18:03:53 +08:00
    抱歉,重新读题才看到标题就你一个程序员,迭代过程优化当我没说。
    PythonYXY
        43
    PythonYXY  
       2021-03-02 18:07:00 +08:00
    除非给两人份工资,否则让你老板多招个人。不行的话就跑路
    nieboqiang
        44
    nieboqiang  
       2021-03-02 18:23:33 +08:00
    两个项目算什么。我不仅同时搞好几个项目,现在甚至两个迭代并行,前一秒还在写这个迭代的需求,下一秒就要去改上个迭代的 bug 。
    dongtingyue
        45
    dongtingyue  
       2021-03-02 18:58:07 +08:00
    总时间够还好,少的话 bug 容易多
    DamonLin
        46
    DamonLin  
       2021-03-02 19:11:06 +08:00
    从删库到跑路
    TomVista
        47
    TomVista  
       2021-03-02 19:45:24 +08:00   ❤️ 1
    频繁的突发性转换肯定是不行的,

    单人固定时间段转换技术 完全没有问题

    再添上协同合作的话,就都不行了,因为你永远不知道同事在什么时间给你搞什么幺蛾子

    建议就是分时间段,而且要以书面形式交给工作的上下游
    iamppz
        48
    iamppz  
       2021-03-02 19:55:34 +08:00
    作为一个小作坊的老打杂已经习惯了,每周开 N 个项目的需求评审、计划会议,跟老板汇报工作,跟技术讨论具体的前后端编码方案,最近一个月因为产品经理不到位还要画画原型,数了下工作 QQ 今天的聊天对象有 20 个,是比较悠闲的一天
    bigbigeggs
        49
    bigbigeggs  
       2021-03-02 20:35:39 +08:00   ❤️ 1
    之前比较忙的时候,三四个需求。

    上午一个需求

    下午另外一个需求

    晚上在搞一个

    慢慢的,就差不多了,其实还好说实话
    lixingjun
        50
    lixingjun  
       2021-03-02 21:48:39 +08:00
    这难道不是常态吗?
    wh1012023498
        51
    wh1012023498  
       2021-03-02 22:02:29 +08:00
    = = 开多线程似乎容易精分
    mosliu
        52
    mosliu  
       2021-03-02 22:12:29 +08:00
    并发呗。
    LeiLeibiubiu
        53
    LeiLeibiubiu  
       2021-03-02 22:15:05 +08:00
    平常拉
    WingOnSummit
        54
    WingOnSummit  
       2021-03-02 22:15:20 +08:00 via Android
    挺常见的。去年有大半年的时间,上午 windows 写 c#,下午 linux 写 Python,有时候一天能切换三四个项目。
    Still4
        55
    Still4  
       2021-03-02 22:24:33 +08:00   ❤️ 1
    频繁切换只能开发小需求,复杂需求需要的专注度高,切换太频繁的话产出直线下降
    Android2MCU
        56
    Android2MCU  
       2021-03-02 22:28:28 +08:00 via iPhone   ❤️ 1
    建议还是不要搞并行开发,之前一手握着 4 个项目,各个项目经理都来催进度,真是忙飞了,趁着这个项目编译的几分钟,赶紧整下个项目的功能,结果就是达成目标效率太低,bug 多。后来实在受不了了,告诉他们我人就一个,让项目经理去排优先级,再提供开发资源,严格按排期一个一个走
    zhuangzhuang1988
        57
    zhuangzhuang1988  
       2021-03-02 22:29:00 +08:00
    不能
    lei2j
        58
    lei2j  
       2021-03-02 23:29:22 +08:00
    脑子要变浆糊了
    zmxnv123
        59
    zmxnv123  
       2021-03-03 00:26:37 +08:00 via iPhone
    并发将就下还可以,并行的人是真牛🍺
    Sunyanzi
        60
    Sunyanzi  
       2021-03-03 00:37:29 +08:00   ❤️ 4
    同语言不同类型的项目我能同时进行四到五个 ... 同类型的理论上讲还能更多 ...

    前提是不打破我每一个任务的原子性 ... 而且需要排程明确 ... 吵架一边去吵都不要影响我开发 ...

    这样我做完一块马上就能抓起另一个项目的另一块 ... context 切换不会超过两秒 ... 轻松随意闲庭信步 ...

    这实际上就是用快速细碎的串行模拟并行 ... 毕竟我真的做不到两眼各看一台显示器两手各写一套代码 ...

    每个任务的时间可以短 ... 最短一分钟最长一刻钟一类的 ... 但一定要保证这个时间是不能被打断的 ...

    多项目并行一定要做好自己的规划 ... 不要谁发的 SIGINT 你都吃 ... 硬气一点说等下那就是等下 ...

    能做到这个 ... 你就会发现只是区区两个项目同时进行而已 ... 真的没有什么难的 ...
    anguiao
        61
    anguiao  
       2021-03-03 00:46:24 +08:00 via Android
    当然是慢慢做啦,反正项目完不成,我又没损失。
    imycc
        62
    imycc  
       2021-03-03 02:08:56 +08:00   ❤️ 2
    你就知足吧。。这还只是在项目间切换。做内部系统的,功能设计、前后端、运维、客服、排障,一个人包圆。

    但这都还是程序员 hold 得住的范围。更惨的是,人力严重不足的情况下,各种非技术的工作太多了。。

    年前一个星期,年后一个星期,大部分精力用在写 PPT 、写规划、算数据上。工作还没开展,就要我们算收益了。
    最后留给我们干正事的时间就剩一点点,我拿头去给你做完?算了那么久的收益白算了呗?正事不干,哪里来的收益呢?

    今年各路领导的目标都是提高人效。求求了,让我安心干活吧。别一天天地问这问那,人效的目标就一定能完成。
    gBurnX
        63
    gBurnX  
       2021-03-03 03:18:26 +08:00   ❤️ 1
    能同时并行多个不同项目,说明你处于降维打击的状态。优点是你的能力远超岗位需求,心情爽,工作开心压力低。但缺点是,你牺牲了一部分你的实力配得上的收入。
    levelworm
        64
    levelworm  
       2021-03-03 03:21:41 +08:00 via Android
    可以。做 BA 多线程工作是基本技能。不过我极其厌恶因为无法进入心流,所以准备转 DWH developer 了。
    kennnnnnnnnnn
        65
    kennnnnnnnnnn  
       2021-03-03 08:30:06 +08:00
    日常多开+1
    atonku
        66
    atonku  
       2021-03-03 08:48:07 +08:00
    看电脑能不能抗住
    dfkjgklfdjg
        67
    dfkjgklfdjg  
       2021-03-03 09:36:24 +08:00
    TODOLIST 记得用,
    bruce0
        68
    bruce0  
       2021-03-03 09:46:39 +08:00   ❤️ 1
    多线程并行是不存在的 先来先服务+优先级抢占 0.0
    meiyoumingzi6
        69
    meiyoumingzi6  
       2021-03-03 09:49:16 +08:00 via iPhone
    😂换了公司之后成了基本操作,
    XuanFei990
        70
    XuanFei990  
       2021-03-03 09:50:07 +08:00   ❤️ 1
    优先级抢占,+ 时间片轮询 + idle 任务。。
    Building
        71
    Building  
       2021-03-03 09:51:35 +08:00 via iPhone   ❤️ 1
    有一阵忙晕了写了半天才发现这个项目的代码写在了另一个项目上...还很奇怪代码提示好像有点奇怪,只想赶工哪有空管这么多,直接无视警告硬敲过去了。好在只是写在一个文件里...
    melkor
        72
    melkor  
       2021-03-03 09:57:03 +08:00
    @tomczhen 老板可能只会知道什么叫人力成本:(
    Mohanson
        73
    Mohanson  
       2021-03-03 10:00:07 +08:00
    时分多路复用
    sillydaddy
        74
    sillydaddy  
       2021-03-03 10:13:41 +08:00
    @Building 还能这样?哈哈
    jay4497
        75
    jay4497  
       2021-03-03 10:44:30 +08:00
    我们这你手里只有一个项目属于闲置人员,三个算满载。。。
    aitaii
        76
    aitaii  
       2021-03-03 10:52:38 +08:00
    @Sunyanzi 有意思 :)
    Lemeng
        77
    Lemeng  
       2021-03-03 10:56:47 +08:00
    看程度大小,压力大小,主要是回报大小
    Nich0la5
        78
    Nich0la5  
       2021-03-03 10:59:51 +08:00
    能 但是效率会低于做完一个再做一个
    chaleaoch
        79
    chaleaoch  
       2021-03-03 11:26:56 +08:00
    我是时间片轮训, 除非特别特别特别特别特别特别特别特别特别特别特别特别紧急的任务.
    nery
        80
    nery  
    OP
       2021-03-03 12:12:03 +08:00
    看来大部分都是日常操作,甚至还有多项目进行的,不过这样的个人能力也是比较强,钱也拿得多。看来我还得多锻炼一下多项目的应对能力。合理的规划和稳定的心态很重要
    puzzle9
        81
    puzzle9  
       2021-03-03 13:58:47 +08:00
    人在外包
    最多 3 个同时搞
    2 个甲方做对面
    iceteacover
        82
    iceteacover  
       2021-03-03 16:07:31 +08:00   ❤️ 1
    几乎不能并行 coding,一个项目需要需求 /Coding/联调 /debug 各种细节。除非其他事情是管理,或者文档。
    包含 coding 的并行项目无法现实。强行并行的结果是效率低容易出错,更长的 debug 时间和心情不好。。。

    别并行。
    zhifSu
        83
    zhifSu  
       2021-03-03 16:15:43 +08:00
    电锅做饭花一块钱电费,水壶烧水花一块钱电费,你老板是不是就想花一块钱的情况下做饭的同时烧水
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3741 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 04:19 · PVG 12:19 · LAX 20:19 · JFK 23:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.