进程相关概念:
并发:
依赖计算机软件,伪多任务。宏观并行、围观串行。
我有十个橘子,我一个咬一口。
并行:
依赖计算机硬件,多核。
我有十个橘子,我分给其他9个人一个吃一个。
程序:
硬盘上的文件。
进程:
运行起来的程序,占用各种系统资源。
最小的系统资源分配单位——进程地址空间(0-4G)
独立的进程地址空间——安全。
线程:
最小的执行单位。——cpu时间轮片分配单位
进程创建线程后,共用进程地址空间,原有进程变成线程。
节省内存空间——效率。
协程:
程序中有大量阻塞场景时。——充分利用CPU.
进程的状态:
初始态:
就绪态:等待cpu
运行态:使用cpu
挂起态:等待除cpu以外的其他资源。
终止态:结束
孤儿进程:
父进程先于子进程终止,子进程结束后,pcb残留。变成孤儿进程。孤儿进程会被init进程回收。
僵尸进程:
子进程结束,pcb残留。父进程没有执行回收期间子进程一直处于僵尸态。
阻塞和非阻塞,同步和异步:
老王用水壶煮水,并且站在那里,不管水开没开,每隔一定时间看看水开了没。
老王还是用水壶煮水,不再傻傻的站在那里看水开,跑去寝室上网,但是还是会每隔一段时间过来看看水开了没有,水没有开就走人。
老王这次使用高大上的响水壶来煮水,站在那里,但是不会再每隔一段时间去看水开,而是等水开了,水壶会自动的通知他。
老王还是使用响水壶煮水,跑到客厅上网去,等着响水壶自己把水煮熟了以后通知他。