关于进程,线程的碎碎念

来源:互联网 发布:淘宝油画卖家 编辑:程序博客网 时间:2024/06/08 01:16

1 进程,就是分配资源的最小单元,进程之间切换比较复杂,需要保存上下文。一个进程内有多个线程,线程之间共享资源,线程切换时,仅部分资源需要切换,线程切换时,切换堆栈和寄存器。而进程切换时,通过pcb  processing control block 来保存所有的内容,比如文件的句柄,数据段程序段的地址,都要保存。

2.之所以有多线程,就是因为进程之间不能共享文件之类的资源,如果针对同一个资源,同时想做不同的事儿,这时,就需要多线程。多进程的需要更是类似于有的进程跑的很慢,需要io操作之类的费时操作,根据时间片调度,切换进程。这些进程往往都是不同的程序,比如音乐,电影之类的。而多线程呢,下载一个电影,就会分成多个线程,因为只有线程才能共享同一个文件资源嘛。

3.不同的线程调度时,会存在锁,即如果都想访问同一个资源,那么有可能冲突,这时,就需要加锁。如果一个线程因为超时之类的原因,退出了,那么它需要回到就绪态,等待系统的再一次调度。

4.之所以我们保存word之类的会卡一会儿,是因为这时候写入磁盘了。有的程序,点击了一个窗口,就不能点击另一个,这是因为它是单一线程的,如果是多个线程的,那么它应该能够同时响应多个操作。