八个工人各要多少

八个工人各要多少

(成本模型:开一个进程 100 格(要给它独立的内存和资源表),开一个线程 10 格(只要一个栈和一个编号)。) 要开 8 个工人。看全开进程和全开线程各花多少格: PROCESS, THREAD =

阅读更多 →
什么时候值得花这个钱

什么时候值得花这个钱

明知进程贵,有些场合还是要开进程而不是线程。最典型的理由是【0】。

阅读更多 →
开一个进程要准备什么

开一个进程要准备什么

操作系统开一个新进程时,必须为它准备的是【0】。

阅读更多 →
线程为什么便宜

线程为什么便宜

开一个线程比开一个进程便宜得多。根本原因是【0】。

阅读更多 →
补全:真开三个线程

补全:真开三个线程

用真线程做一次并发:三个线程各自把一个计数器加到 1000,主线程 join 等它们全做完再打印。补全 worker 和启动/等待。

阅读更多 →
补全:分给几个核

补全:分给几个核

(只看「算」的格数:核对 4、写盘 1、心跳 1。处理器一次算一格。) 补全 makespan(jobs, cores):把任务按格数从大到小依次分给当前最闲的核,交回最忙的核的格数。

阅读更多 →
补全:时间片轮转

补全:时间片轮转

(只看「算」的格数:核对 4、写盘 1、心跳 1。处理器一次算一格。) 补全 round_robin(jobs, quantum):只要还有任务没算完,就按顺序给每个未完成的任务算 quantum 格

阅读更多 →
两个核同时算

两个核同时算

(只看「算」的格数:核对 4、写盘 1、心跳 1。处理器一次算一格。) makespan 把任务分给几个核(大的先分,谁最闲给谁),交回最晚完成的时刻。看 1 核、2 核、3 核各要几格: JOBS

阅读更多 →
一个核轮流切

一个核轮流切

一口锅,三个菜轮着炒 (只看「算」的格数:核对 4、写盘 1、心跳 1。处理器一次算一格。) round_robin 模拟一个核按时间片轮流:每次给一个任务算一格,轮完一圈再来。看处理顺序和总格数:

阅读更多 →
并行的前提

并行的前提

要让程序真的并行起来,缺一不可的两样是【0】。

阅读更多 →