一件活儿里的好几条线
把一件活儿分成好几条线,在同一个工作间里同时进行。
一个人,好几只手
一个厨师在厨房里忙活。一边炖着汤,一边切菜,时不时还看看火。
活儿是一件,做饭,可这件事里头有好几条线一起在走。厨房就一个,料架也就一个,大家一起用。
电脑也能把一件活儿这样分成好几条线一起做。这每一条线,就叫一个线程。
活儿是一件,里头的线有好几条。厨房和材料一起用
线程就是一件活儿里头,同时往前走的好几条线。
互不相干的两户,一户里的好几间
前面说过,每个进程都各自有自己单独的空间。两个进程就像挨着的两户人家。中间有墙,谁也不能随便进谁家。
可一个进程里头的线程,就像住在一户人家的家人。房间分开,可客厅和冰箱是一起用的。
所以线程之间传递消息很方便。它们看的是同一个架子。进程之间就麻烦多了。
进程是隔着墙的邻居,线程是一户里的家人
进程各用各的空间,一个进程里头的线程共用空间。
多加几条线
一件活儿分成几条线,自己来改改看。
只有一条线,活儿就一步一步顺着做。多加几条线,好几个部分就同时往前走。大家都看着同一个架子。
线多了,活儿可能完得更快。不过大家用的是同一个厨房,太多了就会互相挡道。自己加一加,看看活儿怎么分。
改改线的条数,看看一件活儿怎么分开往前走
线一多就同时进展得多,可共用同一个空间这点没变。
一起用是快,可是
线程一起用这个架子,是个大优点。不用单独搬来搬去、抄来抄去,马上看的就是同一样东西,又轻又快。
可这有两面。两条线要是同一个瞬间去碰同一样材料,就可能撞上。一边在放盐,另一边也放了进去,就这么回事。
所以一起用是方便,但什么时候、谁来碰,得稍微当点心。这事下回再细说。
共用又轻又快,可同时碰同一样东西就会撞上
共用空间又快又轻,可同时碰同一样东西,就可能出问题。
一页纸总结
记住三点就够了。
第一,线程是一件活儿里头的好几条线。活儿是一件,可里头好几个部分同时在走。
第二,它们共用同一个空间。进程之间有墙,可一个进程里头的线程看的是同一个架子。第三,所以又轻又快,但也得当心。同时碰同一样东西就可能撞上。
一件活儿里好几条线,共用空间,轻但要当心