如何运作多线程工作,让你的人生开挂?

Posted 印象笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何运作多线程工作,让你的人生开挂?相关的知识,希望对你有一定的参考价值。


大象按:多线程是计算机语言,相信熟悉的朋友会像得到暗号般自动点击进入阅读。


而写这篇文章也是最初作者要去爬取网站上面的信息,一开始总是一个程序在运行,很慢很慢,过了两天,实在不行,误打误撞发现是可以几个程序一起进行的,于是当天就把原本要好几天才能单线爬完的数据用并发的方式爬取完毕了。


然后他想,是不是也可以运作多线程工作,让人生开挂? 


p.s. 本文纯干货,建议保存后阅读。


如何运作多线程工作,让你的人生开挂?


我是一个中科院材料工程专业的研究生,由于个人原因峰回路转去找了份机器学习的工作,于是这三个月去了一家深度学习的公司实习。


互联网公司的快节奏和高压力经历过的人应该深有体会,电脑上面同时打开几十个页面,微信客户端保持在线,随时需要沟通,半天焦急得上火发现自己一口水都还没喝。


更别提我这个半路出家的实习生,每天都被项目折腾得焦头烂额,都要学习新的东西,我在那里学到的就是“no excuse,及时交成果”,更要命的是我在研究所所承担的实验项目工作量也是很大的,每天只能是白天去公司实习,晚上抓紧时间回去研究所做实验。


但这样还不够,我还答应了之前认识的一个 udacity 的导师同时担任学员互助班的助教,列教学大纲、及时督促每个学员进行学习、及时答疑、开班会……这些都是一手操办,以至于我都还没有喊累,有几个学员都替我操心:“助教耐心十足,既要管工作也要监督我们学习。”


但越是这么忙碌的时候,越是让我反省工作中的缺失和不足。


比如可以同时做多个任务吗?是不是人也可以兼顾多个身份,同时并行多个任务,多个兴趣让自己的生活赚翻呢?比如斜杠青年?或者我们已经在做的其实就是多个身份角色了呢——某个孩子的父亲角色,正职是程序员,同时是某个职场专栏的作家,同时也是一个吉他手等。


回顾这三个月,仔细盘点了下自己的身份和任务,才发现自己抛开 udacity 的机器学习工程师学员不说,在过去三个月至少承担了 4 个身份,而这 4 个身份都是需要很多时间付出的,三个月结束像是扒了一层皮。但居然有惊无险,很多事情处理得都有条不紊,在这个过程中培养了以前从没有坚持养成的习惯,学到了很多职场上的东西,也认识了一些朋友。


我认为确实要专心做一件事情才能做好,但是实际情况更多的是你正在专注写一篇稿子,老板突然来叫你把哪个进程搞一下,把哪个接口调用下,这个时候很难单手一挥拒绝说:“不,我正在忙稿子!”因此处理多件事其实是常态,问题是怎么处理得总体效益最大化。


以下干货目录


一、什么是多线程工作

二、为什么要多线程工作

三、6 条重要规律

四、8 个必备工具


 1 

什么是多线程工作?


多线程其实是计算机的术语,是指在同一时间执行多于一个线程,进而提升整体处理性能。


借用过来这个概念,也就是说你先烧水,水在烧着,你去弄茶具,放茶叶,等水烧开泡上是不是比你弄完茶具放完茶叶再烧水快很多?原因很明显,因为烧水和放茶叶是可以同时进行的,相当于就是一个多线程的工作。


 2 

为什么要多线程工作


1. 节约时间



但如果用多线程的工作思维去思考,会发现其实会有很多时间是花在等待上面的,你发一条微信,可能你的合作伙伴得要个 5、6 分钟才回你,如果来回十次的话那么一个小时就废了,但这些时间用来做整段的学习却不可能,因为你也是一直在被对方打断。


2. 高效率


效果如同学会了影分身之术。如果进行多线程工作的话,你就如同同时在齐头并进,工作项目的进度完全可能是别人的数倍。


3. 高收益


多线程带来的收益不仅是金钱,脑洞大开点,还有的是兴趣,还有长远的发展。


我并不会给自己的职业定个死死的几十年发展规划,我一般会估计到自己几年内的职业,因为社会各个方面变化太快了,我有意识地去培养自己多方面的能力。


之前在小木虫上面看到有位在国企干了十年的小主管想要重新进高校教书求助如何转型。我当时看到这个的时候突然在想——


有些人十年内只干一件事结果干得很成功,这是单线程专注的胜利,但毕竟在正态分布上面是属于少数,其实更多的人可能是一份行业干了十年会累觉不爱,那么十年过去了最后可能就只剩迷茫,但是如果在十年前除了本职工作就并发地进行演讲、写作、编程等等的其他方面的学习,就算最后不转行,但是这些带来的对职业发展的影响是很深远的。

 3 
六个重要规律


1. 重要的是流程,不是速度


我过去常常以为工作最快的应该是要越快的速度,但实习三个月下来一直在反思工作的顺序问题,有些时候同事在催着我要一些重要进展的时候,我却迟迟交不出来,然后才发现自己去忙了一些不重要的事情,经常加班加点来完成工作。


其实现在回过头来看,很多时候工作的时长或者说进度其实都是取决于耗时最长的那件事情,所以如果那件事情后续需要别人来做,并且时间很多花在等待别人的反馈再需要反复迭代更新的话,最好是先做这一件事。


在这一点上,我并不是很认同四象限法则上面的先做最重要的事情,我觉得,应该先做“烧水”这件事情先,先做别人等着你完成的工作先,这样当别人在做的时候你就不用傻等,可以去做下一件事情,然后等反馈回来再去修改重新提交。并且要把耗时最长的事情先特别注意,用反向安排的方式去反过来推算,如果我要5点就下班,11点就睡觉,耗时最长的工作要多久,什么时候开始,先安排它开始吗,哪一些是可以先让它自己跑起来,然后就自动化走的?


对于互联网公司,更多的可能是一些脚本,对于绝大多数公司,这些“自动化的东西”是沟通,多多沟通往往可以让别人自动地给你提供很多资源和新思路,也可以让别人了解你的进展,知道自己的任务是什么,比你自己傻傻苦干完然后再跟别人说“我做完了”别人来一句“我要的不是这个”好得多吧?对于工作更高的层面,其实是演讲和写作,因为演讲和写作都是可以增加你的受众面和提高你的影响力的,而这些影响力都可以持续地自动为你带来潜在的收益。


所以,掌控好流程很重要,让多个方面并发发展,而不是单线通道。



2. 一次只做一件事


虽然说的是多线程工作,但并不是说要一心多用,同时做几件事情,最重要还是要一个时间只做一件事情,所谓的一个时间做多件事情,其实只是精力在多件事情上来回切换,有证据表明,切换后的时间往往是需要十几分钟才能够再投入回之前的那一件事情当中。


我经常使用奇妙清单结合 GTD 的方式来让自己完全专注于当前的行动,只要判断完了,会马上去做,其他的事不会去想。所以多线程工作其实强调的是流程安排,不是切换,切换的次数,越少越好,专注做好一件事情很重要。



3. 有灵感就要随时记录下来


提及一下,这篇文章的大纲并不是在我最闲适最轻松的时候写下来的,恰恰相反,是在我最忙碌的时候草拟好的。


“灵感”这个词在一个 TED 演讲中说得蛮贴切的,就是指的是恼人的小精灵,会时不时就出现,但却转瞬即逝,等你想把手头上的事情忙完再来找它却发现它再也不在了,所以在我最忙碌的时候反而是大脑最活跃的时候,我会把想到的东西都用页面上方印象笔记的快速笔记功能写完,大纲的话就用幕布草拟一个。这样等我忙完手头上的事情之后,我就有空写文章,我可以马上用大纲来提醒我我有哪些要点是要说的。



4. 分步去操作


一个大的项目其实也不一定要用一个完整的时间去做,可以先把这个项目拆分成好几个部分,然后每个大的部分再拆成可以思考的问题或者是可以执行的步骤,然后利用走路或者等电梯的时间就去思考应该怎么去完成这些问题,然后一旦有时间了就可以马上执行,这正是利用到了刘未鹏提到的“暗时间”,把一些重要的问题在开始做之前就想清楚,避免在做的过程中出现太多方向性的错误。


比如说做一个 PPT,就可以从整体配色、整体逻辑结构、切换方式、图片等各个方面来考虑,而配色就要考虑是纯色调还是混合色系,参考网站有哪些,图片的搜集网站有哪些,是一边写文字还是整体做完之后再统一插入照片效率更高等等,把每一步都尽可能想到,然后动手做的时候就会思路清晰,不致于一边做一边想,速度会快很多。



5. 减少搜索时间


之所以可以实现多线程工作,有个重要前提是有比较多的资源。时间是一个,稳重的心态是一个(如果是焦急的心态往往会先去做最紧要的事情),还有就是平时就对待好的各种物品归类好。



以及对于各种资源如找代码文档用dash,搜索电子书可以用微盘等,学习技能可以用 YouTube 等等,这些在我《高效能搜索人士训练手册》有谈到。平时就做好知识和资源储备,到真正需要的时候就能随时调用,这样效率才会杠杠的。



6. 了解培养习惯的价值


培养一项好习惯是十分有价值的过程,因为它相当于隐形地在不断给你创造收益,这些收益可能是自由的时间,可以用来陪伴家人或者放松身心;也有可能是在默默给你前途发展加油。


对这一点我特别深有体会,很多东西其实我早就知道,比如说要先作计划然后再去按照优先顺序去做,比如说用印象笔记去管理很好,可是需要付出精力去培养的习惯一般都是比较痛苦的,因为这是违反人内心的渴求的,对于即时快感的渴求,而不是限制自己换来的长期回报。


但是一旦按正确的方法来做事,目标按照重要性排序,大任务拆成可执行行动,不骄不躁去做事,会发现其实自己可以做好更多的事,而且从容淡定。而了解你的习惯带来的价值是第一件要做的事。 


 4 

八个必备工具 


1. 强大的知识库


进行多线程工作的人需要建立起自己的知识库,需要使用的时候可以马上调用。


最基本层面上,我们日常工作中用到的很多资料、流程都并不是每天来一批新的,真实的情况是我们都在沿袭着之前的流程,之前的客户资料,之前的邮件通知格式,各种模板……这些都是重复用的,对于这些东西就需要集中存放起来,随时调用,为此需要建立自己的知识库。


但这只是基本层面,对个人发展来说,你也同样需要自己的知识库,包括总结出自己的时间管理、项目管理和专业知识等自己的知识库,方便你可以随时调用,等到将来某个你最需要某些知识点的帮助的节点的时候,才会突然意识到拥有自己的知识库作为自己的后盾会让自己变得更加难以击倒。


强烈推荐印象笔记作为构建个人知识库的不二之选,之前有过一篇,可以参考一下。



2. 印象笔记的插件


我一直都是印象笔记的粉丝,从研一开始就跟印象笔记结下来比较深的羁绊,很多东西都交给印象笔记完成,在这个过程中也在不断地了解各种印象笔记的拓展功能。剪藏和微信一键保存为人熟知我就不说了,有另外两个跟 Mac 有关,我很早安了却没有怎么用,但是这三个月被紧张的工作逼得不得不用,却发现这两个小东西意外地好用。


一个是快速笔记的插件,这个插件能够在任何环境下(网页或者是其他应用程序)快速写入任何东西,录音,截图都保存在同一条笔记当中,有个好处就是能够随时记录下自己的想法和随时做笔记,我发现这个功能在看 YouTube、读文章学习的时候特别有用,看到有用的地方就截个图,复制文字,及时写下自己的一些总结,看完一个视频,也完成了一个知识体系的构建,然后一键保存,over!整个流程走下来不用来回切换到印象笔记,保证了思绪的集中。并且配合快捷键使用,如行云流水般爽得飞起。


另外一个就是配合 Alfred 使用的 workflow 插件,这个插件可以在 Alfred的 workflow 论坛上面下载好,然后安装好 Alfred 后直接双击下载的印象笔记 workflow 插件就可以开始享受了。只要键入 ens 就可以开始在 Aflred 里面搜索,并且还有多种搜索方式,按标题搜索,按 todolist 搜索等等,满足多方面的需求。


最后还有就是印象笔记的几个小功能,一个是闹钟提醒,我之前尝试过很多日历工具,包括 Calenedars、voltage 等等,但是都没有坚持下来,但我觉得印象笔记的这个功能特别好用,我想最重要的原因是,我减少了 App 冗余,反而能把精力集中在做事情本身上。我把很多东西都交到印象笔记身上,只留这样一个入口,这样我就不用再去关注其他的 App 的提示,只用看印象笔记的提醒就可以了。另外就是快捷方式,快捷方式把笔记放在了快捷启动的地方,可以在近期要经常用的印象笔记放在那,然后就可以省去找的功夫,直接点开用。



3. 剪贴板工具Paste/Ditto


正如我之前所说的,培养一个新的好习惯是比较不舒适的过程,但是一旦培养起来了,其收益是成倍成倍地返还的。


剪贴板工具就是这样一个习惯培养的过程,在 Mac 下用的是 Paste,在 Windows 下用的是 Ditto。Paste 使用起来非常直观好用,Paste 会直接记录你复制过的任何内容,包括图片、文字、文件等等,应有尽有。很难得的是,Paste 会保留下复制的对象的格式,也就是举个例子你从 Excel 复制下来是表格,不管经过多少次复制粘贴,下次调用 Paste 的时候还是表格,贴心的是你也可以右键 Paste 的界面选择粘贴为纯文本,这样就大大地拓展了使用者的灵活性,按需使用。使用方法非常直接,每次的 Command+C 或者是鼠标右键的复制都会把相应的结果记录到 Paste 当中去,同时会有提示音。需要调用的时候只需要按一下 Shift+ Command+ V 就可以调出 Paste 的使用界面,光标移动到对应的目标,然后 Enter 下就可以了。


看起来步骤不多,你可能会怀疑会有如此大的效用吗?是的,为什么呢?让我解释下,这是因为高效工作的一个很重要的点就是要专注,减少切换的次数,而复制粘贴恰好是打乱专注,不断切换的破坏原因之一。


Paste 的出现使得人们不用反复切换到另外一个页面就能在同一个界面下把要复制的东西都储存起来,然后一键粘贴完,免掉来回切换的精力损耗。并且 Paste 还有重命名粘贴的项目和分类标记的功能,有了这个,可以对工作和生活的不同类别进行整理和标示,调用起来得心应手。



4. 奇妙清单结合 GTD 的方式


奇妙清单结合 GTD 的方式可以让你在面对大项目的时候能够清晰了解到自己的进展,清晰明白到接下来要完成的下一步行动。


GTD 的方法是分成五个部分,收集篮、待办事项、项目清单、下一步行动和将来也许清单,收集篮是不管什么信息都往里面放,然后从中抽取出不同的类别分门别类放到不同的清单里面,待办事项往往是几分钟就能做完的额事,而项目清单则是需要多个步骤组合才能完成的事情的清单,下一步行动永远只有一条,就是根据你当前的目标评估出接下来要做的一件事情,这件事情是可以有效推动你往目标前进的,将来也许清单就是一些琐碎的事情,放进去以后有空就可以做。


我分别建立了这五个清单夹,其中用得最多的是待办事项、项目清单和下一步行动。


我往往是在项目清单中写下自己接下来要集中完成的一个项目,比如说我要写完这篇文章,我会在项目清单中写下这一条,然后我会给这个项目定一个截止时间“下午 4:00 ”前完成,在它的子任务当中将这个大的项目拆分成一个又一个可以执行的行动,然后我就可以开始干活了,先把第一个子任务拖入到“下一步行动”当中,设定一个截止时间,然后动手完成第一个行动,完成了可以打个勾,接着把第二个分解的行动再拖到“下一步行动”中,设定一个完成时间,接着去完成……如此,把所有的子任务完成了最终在总的项目上面就可以打勾,表示完成了这个项目。


奇妙清单结合 GTD 的方式好处在于把一个很大很棘手的项目可以拆分成很多目标描述明确的子任务,一方面避免了盲目的时间浪费,另外一方面在不断完成子任务的过程中可以看到进度在朝着目标有序地推进,完成一个子任务就勾掉一项,逐渐积累信心和斗志,有点像打怪升级。另外在面对一个很不想动手的项目时,我往往会这么做,把第一个行动描述得超级具体、也超级简单,比如说是“修改简历”这件事情我迟迟不想动手,那么我就会把第一个行动变成“打开 xxx 简历 Word ”,第二个行动就是“打开 xxx 项目资料”,对,就仅仅是打开文件我就列一个行动,这是因为当我做了这么一件小事,然后我就勾掉这个行动之后我马上就得到了一份满足感,而这些满足感又会作为新的动力支持我去完成下一个行动,所以全部行动完成之后精神抖擞,丝毫没有疲惫的感觉。


奇妙清单起到的作用其实不止于此,但我这里只想谈一下跟 GTD 的结合,因为一个项目很可能不是从头做到尾,真实情况是不知道做到哪一步就要被 Boss 打断去干别的东西,而用这种方式记录下来的话回来就可以马上接着下一个行动做,相当于多线程的工作其实是在被每个动作有效推进的。另外的话,多步骤的工作往往是要伴随目标和实际情况的变化而变化的,比如说要调研 Scrapy 来爬虫,随着调研所获的资料越多,目标和相应要实现目标的步骤会发生变化,比如说调研调研着发现 Scrapy 其实并不能实现百度的搜索结果的抓取,发现可能可以用人的模拟点击的这种方式去实现,于是又转向了模拟点击,谷歌之后发现 Selenium 在模拟点击方面被讨论得最多,于是转而调研 Selenium 是如何实现的……如此看来,其实目标和下一个行动是根据当前的信息和行动在不停发生变化的,而把这一些分析写入到奇妙清单中,不断调整下一步行动其实有助于我们快速调整和学习。

 


5. Moom


Moom 是一款 Mac 系统下强大的窗口布局软件,能够快速修改当前窗口大小并放置在指定位置,Moom 默认操作点设立在了窗口左上角的绿色按钮上,将鼠标 hover 在绿钮上就会弹出一个选择菜单,里面有五种尺寸可选,单击选项即可变化窗口大小,并能将窗口移动到指定位置。另外,使用鼠标(拖拽动作)或 Trackpad(三指拖拽)可以在选项 icon 中对窗口位置再次细化调整,将尺寸再缩小为原来的一半,这样窗口就能准确的居于屏幕四角。因为 Mac 系统下并没有可以自动调整窗口的方式,但是有了 Moom 之后就可以在需要打开多个窗口和多个应用的时候自动把布局给我们整理好。



6. ipad+罗技K380蓝牙键盘


以上说的都是 Mac 的软件,接下来我要介绍下 iPad + 蓝牙键盘的妙用。 iPad + 蓝牙键盘也是等到我要承担多项任务我才开始真正利用起来的。 iPad + 蓝牙键盘有好几个好处,其中一个是可以随时用起来(毕竟开电脑也需要一定时间和功夫),我习惯每天早早到公司,在一天工作还没开始前先不打开电脑,然后用 iPad + 蓝牙键盘打开奇妙清单,先把今天要完成的项目和要学习的东西用 GTD 列出来,然后再开了电脑信心十足地去一条一条去勾选做完的动作,信心满满地开始。然后一天结束,在回去之前我再用 iPad 和蓝牙键盘记录下今天学习到的东西和工作成果,明天要接着完成的东西是什么,以此来不断推进工作。


由于奇妙清单能够在客户端和 ios 设备上同步,所以在 iPad 上面的更新可以在电脑马上体现,所以在工作的时候我既可以看电脑端的奇妙清单也可以看 iPad 来跟进项目的进度。


而且这款罗技K380蓝牙键盘还有个很好的优点,就是它自己预留了三个按钮可以连接三台设备,也就是除了可以连接我的 iPad,还可以连接我的 Mac Pro 以及 iPhone(简直是量身定做的好吗),只要按一个按钮就可以随时切换,用一个键盘的钱就能被三台设备使用,是不是超级划算?只要轻轻一点就能够在三台设备无缝衔接,这才是满足了多线程工作的要求。而且重量加上电池只有403克,携带很方便轻松。


除了简便性,我用iPad和蓝牙键盘还有另外一个原因,就是打字很舒服,我喜欢这种打字的感觉,不太喜欢用手指在屏幕上点击的感觉。不要小看这种舒适感,其实舒适感可以很大程度决定我们去不去做某件事情,尤其是厌倦或者是享受工作。如果打字是一种享受的话,就会有可能持续地去工作,但是键盘打得难受,那碰都不想碰。


我很早就买了 iPad,但一直等到有蓝牙键盘我才开始真正用iPad来规划自己的工作和学习。悄悄说一句,意识到这一点之后,每当我工作有点厌倦的时候我都会换种工作方式,要么就是把外接键盘直接换成在 Mac Pro 上面打字,要么就是换个舒适的地方。



7. 快捷键


快捷键的使用是我每次谈到工具的时候都要提的,因为尽可能用快捷键跟只用鼠标真的是两个世界的不同,说不定在点鼠标的时候用快捷键操作就已经完成好几个动作了,效率是真高!所以用一款软件之前钻研透一个软件的快捷键肯定是没错的,关于快捷键的记忆都是慢慢来的,一开始记一遍能记住的都是天才,我往往是需要往复几遍在工作中用到才能记住的(也算是一种刻意练习吧)。正因为快捷键的记忆比较让人觉得麻烦,部分人用两次忘了就不再捡起来了,确实是遗憾。关于快捷键 Mac 系统下有个神器,叫做 CheatSheet。


关于使用方法,真的是超级 easy!在应用程序下长按 ⌘-Key,它就会显示当前程序所有的快捷键,正在用哪个应用就会显示哪个软件的快捷键,连百度的时间都省下了,不可不谓神器。


关于快捷键我有几个是比较喜欢的,一个是 Mac 系统自带的,按下 fn+ control+ F3 就会显示通知栏,然后打出应用的前几个字母 enter 就会切换到那个应用,对于同时要照顾好几个应用的界面的情况真的是很棒的功能;关于浏览器的页面切换,我用的是 Chrome 浏览器,Chrome 浏览器在多个页面切换下当然可以用鼠标,但是很慢,我喜欢用 ⌘+num 来切换不同的页面,num 表示的是第几个页面,这样的切换会比 tab 或者 tab+shift 更加灵活,实际上当前常常用到的可能只有 2~3 个页面,所以可以把当前工作相关的页面放到 1、2、3 位,然后用这个快捷键,一开始用得不习惯,但是用熟了之后简直爱不释手不能停。



8. 幕布


幕布是用来在线思维概要整理的,相当于是将你脑中所想的东西转变成有条理的东西,书写结果是采用树形结构分布的,整个过程简单上手,结果可以随时保存,直接预览,并且还可以一键转化成思维导图。


主要功能有 4 点:


写笔记,幕布通过树形结构来组织内容,笔记条理性。内容清晰深刻,方便分享;


思维整理,快速的整理思路,一键查看思维导图,不断拆分细化每一个主题。一键分享、演示,方便的进行思维碰撞与头脑风暴,写起来很easy轻松;


内容创作,捕捉灵感,整理出大脑内容,使其变得清晰;


任务管理,它提供了一种简单直观的任务描述和管理方法,帮助的梳理和拆分任务,通过幕加标签功能,标示任务执行信息。


我这篇文章的大纲就是在我很忙碌的时候用幕布草拟出来的,接下来主要把时间花在写文章上面就可以了。


说了很多,其实最终多线程工作是通过合理安排流程和提前准备好相关的资源来把我们浪费掉的时间给取回来,真正地把时间变得更加充实,利用起来而非变得停滞不前。


只要用对了方法,利用时间,我们是可以成为超出我们想象的自己。


-END-


本文系象友 @陈林林 投稿作品

简书账号:九日照林


欢迎盆友们投稿至 gushi@yinxiang.com


点击图片,阅读往期文章

以上是关于如何运作多线程工作,让你的人生开挂?的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程编程(基础篇)

OSLab多线程

人生苦短之Python多线程

14 个 Python "冷兵器" 合集,让你的终端一秒开挂

如何潇洒地多线程拖拍?

java 多线程 面试