![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
wifi chicken
本人比较忙
展开
-
操作系统原理篇(三)
接着前面的管程: 在任何时候,只能口有一个线程活跃在管程内,责任由编译器承担,在管程内,使用两种同步机制:锁用来互斥,条件变量用来控制执行的顺序。从某种意义上来说,管程就是锁上面再加上条件变量。 条件变量:线程可以在上面等待的东西,二另外一个线程则可以通过发送信号将在条件变量上等待的线程叫醒,所以条件变量有点像信号量,但是又非信号量,因为不能对其进行up和down操作。 管程的中心思想: 运行一个在管程里面睡觉的线程,但是睡觉前需要把进入管程的锁或者信号量释放,否则在睡觉后别的线程无法进入管程,就会造成死锁原创 2020-07-16 10:51:17 · 237 阅读 · 0 评论 -
操作系统基础篇(二)
进程的分身术——线程 1.概述 前面的博客讲到了进程的缺点,从而发明了线程。 举个例子:每个人再人生的某个时候,都希望自己能够分身,从而完成多件事情。而一个进程相当于一个人,也希望能够分身,完成更多使命。于是有了线程。 进程在一个时间只能做一件事,线程就可以同时做多件事,进程既然是线程的分身,每个线程的本质实际上也是一样的,即拥有同样的程序文本。 线程也是进程里的一个执行上下文,或者称为执行序列。同一个地址空间里面的所有线程构成了进程。 在线程模式下,一个进程至少有一个线程,也可以有多个! 将进程分解为线原创 2020-05-15 21:09:07 · 412 阅读 · 0 评论