CQ备忘录

一间存放故事的仓库

GitHub LinkedIn
12 June 2020

TLDP 001:多线程调度模型

by ChenQi

TLDP

Team Leader Development Program
团队管理者发展计划
Technical Leadership Development Program
技术领导力发展计划

Anyway,公司启动2020 TLDP课程,邀请我作为导师(之一)参与线下小组活动。选中的小组研究课题是《专家VS管理》,大概是聚焦于从业务专家到团队管理者的角色转变过程中的一些经验和方法论吧。
整理记录一些每周讨论到的话题,很多内容具备普遍性,留备日后所需。

Tips 1 多线程模型

从专家到管理角色转化的第一个小方法。

从技术角度看待管理,或者用技术术语诠释管理这件事,提供一个多线程调度模型,供参考。
一个技术人员(专家)可以类比为一个单线程,或者一台服务器。那么一个管理者就对应为一个多线程调度者,或者一台负载均衡调度服务器(负责运维一个服务器集群)。
于是角色转化,就是从单一工作任务流的高效处理,变成多线程多服务器的高效协同调度管理。一个专家角色,等于一台高性能服务器,各方面性能优于其他服务器。而一个优秀的管理角色,需要能够高效的管理调度一个集群。
多线程调度模型的常见特征是:Asynchronous 异步,Callback 回调。与此相反的就是:Loop 轮询。

那么应该这样做

根据所管理的集群特点,分配对应匹配的任务,并设计和约定好通知机制。
包括任务的开始,结束,瓶颈(内部困难故障,或外部依赖变更),空闲。尽量让每一个子线程/子服务,及时主动将自身运行状态通知出来,以便调度者及时响应处理。

那么不应该这样做

轮询方式。调度者周而复始的逐个问询每一个子线程/子服务的最新状态。于是调度者自身满负荷运转,没有时间做其他事情。
当管理半径扩大时,管理者负载加重,逐渐超载,于是能效显著降低。与此同时,被管理者逐渐养成了被动工作模式,不问询就不反馈,恶性循环。

多线程调度机制的建立,需要管理者和团队成员耐心磨合,互相支持,逐渐配合默契。最终目标自然是:从个人工作能效最大化,变成带领整个团队工作能效最大化。

当你忙得焦头烂额时,不妨想一想多线程调度模型。

tags: