seegongsik
我的单词本
操作系统

一件活儿里的好几条线

把一件活儿分成好几条线,在同一个工作间里同时进行。

01

一个人,好几只手

一个厨师在厨房里忙活。一边炖着汤,一边切菜,时不时还看看火。
活儿是一件,做饭,可这件事里头有好几条线一起在走。厨房就一个,料架也就一个,大家一起用。
电脑也能把一件活儿这样分成好几条线一起做。这每一条线,就叫一个线程。

活儿(做饭)厨师炖汤切菜看火料架(共用)

活儿是一件,里头的线有好几条。厨房和材料一起用

线程就是一件活儿里头,同时往前走的好几条线。

02

互不相干的两户,一户里的好几间

前面说过,每个进程都各自有自己单独的空间。两个进程就像挨着的两户人家。中间有墙,谁也不能随便进谁家。
可一个进程里头的线程,就像住在一户人家的家人。房间分开,可客厅和冰箱是一起用的。
所以线程之间传递消息很方便。它们看的是同一个架子。进程之间就麻烦多了。

进程:有墙线程:共用互不相干共用一户人家客厅冰箱共用

进程是隔着墙的邻居,线程是一户里的家人

进程各用各的空间,一个进程里头的线程共用空间。

03

多加几条线

一件活儿分成几条线,自己来改改看。
只有一条线,活儿就一步一步顺着做。多加几条线,好几个部分就同时往前走。大家都看着同一个架子。
线多了,活儿可能完得更快。不过大家用的是同一个厨房,太多了就会互相挡道。自己加一加,看看活儿怎么分。

料架(共用)
线 1
线 2
线的条数2
线一多,好几个部分就同时走。不过料架就一个,得一起分着用。

改改线的条数,看看一件活儿怎么分开往前走

线一多就同时进展得多,可共用同一个空间这点没变。

04

一起用是快,可是

线程一起用这个架子,是个大优点。不用单独搬来搬去、抄来抄去,马上看的就是同一样东西,又轻又快。
可这有两面。两条线要是同一个瞬间去碰同一样材料,就可能撞上。一边在放盐,另一边也放了进去,就这么回事。
所以一起用是方便,但什么时候、谁来碰,得稍微当点心。这事下回再细说。

优点料架看同一样,又轻又快两面当心同时碰就撞上

共用又轻又快,可同时碰同一样东西就会撞上

共用空间又快又轻,可同时碰同一样东西,就可能出问题。

05

一页纸总结

记住三点就够了。
第一,线程是一件活儿里头的好几条线。活儿是一件,可里头好几个部分同时在走。
第二,它们共用同一个空间。进程之间有墙,可一个进程里头的线程看的是同一个架子。第三,所以又轻又快,但也得当心。同时碰同一样东西就可能撞上。

线程是一件活儿里的好几条线。活儿是一件,里头好几个部分同时走。
共用同一个空间。进程之间有墙,线程看同一个架子。
又轻又快但要当心。同时碰同一样东西就可能撞上。

一件活儿里好几条线,共用空间,轻但要当心

一句话总结线程就是把一件活儿分成好几条线,在同一个空间里一起往前走。
如果有帮助,请支持我们
操作系统