![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
喜欢吃肉的饭
自由 自信 不失望
展开
-
同步与互斥
同步与互斥的概念 当线程并发执行时,由于资源共享和线程协作,使用线程之间会存在以下两种制约关系。 1.间接相互制约。一个系统中的多个线程必然要共享某种系统资源,如共享CPU,共享I/O设备,所谓间接相互制约即源于这种资源共享,打印机就是最好的例子,线程A在使用打印机时,其它线程都要等待。 2.直接相互制约。这种制约主要是因为线程之间的合作,如有线程A将计算结果提供给线程B作进一步处理,那么线程B在...转载 2019-04-21 15:20:44 · 611 阅读 · 0 评论 -
进程线程通信方式
linux下进程间通信的几种主要手段简介: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信; 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信...转载 2019-04-17 21:36:20 · 280 阅读 · 0 评论 -
列出文件夹中所有文件三种方法
如果只要求列出当前文件夹下的文件,代码如下所示: import java.io.File; class Test12 { public static void main(String[] args) { File f = new File("/Users/Hao/Downloads"); for(File temp : f.listFiles()) ...原创 2019-04-18 13:15:27 · 1893 阅读 · 0 评论 -
信号如何通知到进程
内核在进程所在的进程表项的信号域设置对应的信号的位,进程会维护一个未决信号的链表,处于用户态时就会处理信号。 内核给进程发送信号,是在进程所在的进程表项的信号域设置对应的信号的位。 进程检查信号的时机是:进程即将从内核态返回用户态时。如果进程睡眠了,要看睡眠能不能被中断,如果能被中断则唤醒。 进程有一个链表的数据结构,维护一个未决信号的链表。 信号在进程中注册,其实就是把该信号加入到这个未决信号链...转载 2019-04-22 21:26:47 · 254 阅读 · 0 评论 -
协程理论相关
协程不是进程,也不是线程,它就是一个函数,一个特殊的函数——可以在某个地方挂起,并且可以重新在挂起处继续运行。所以说,协程与进程、线程相比,不是一个维度的概念。 一个进程可以包含多个线程,一个线程也可以包含多个协程,也就是说,一个线程内可以有多个那样的特殊函数在运行。但是有一点,必须明确,一个线程内的多个协程的运行是串行的。如果有多核CPU的话,多个进程或一个进程内的多个线程是可以并行运行的,但是...转载 2019-04-29 10:01:00 · 250 阅读 · 0 评论