![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发 进程 | 线程
文章平均质量分 87
YOU??
我很懒,还没有添加简介
展开
-
线程池
线程池 pthread pool线程池技术思路: 一般采用预创建线程技术,也就是提前把需要用线程先创建一定数目。 这些线程提前创建好了之后,“任务队列”里面假设没有任务,那么就 让这些线程休眠,一旦有任务,就唤醒线程去执行任务,任务执行完了, 也不需要去销毁线程,直到当你想退出或者是关机时,这个时候,那么你 调用销毁线程池地函数去销毁线程。“任务队列”是一个共享资源“互斥访问”线程池的实现先初始化线程池的基本内容,将线程全部创建好,所有线程都执行的是任务调配的函数在任务调配函数中,因没原创 2020-12-02 19:56:08 · 141 阅读 · 0 评论 -
并发 进程
程序执行方式:1.顺序执行 :一个程序执行完,才能执行下一个程序。cpu利用率低2.并发执行 : 一个程序执行有很多步骤,取值 -> 执行 ->写回 不同的步骤需要不同的硬件完成,使用并发就可以实现多个程序同时执行,这里就引入了‘进程’这个概念,提高cpu的利用率进程和程序的区别 :(1) 程序是静态概念(是指令与数据的有序集合,“程序文件”) 进程是动态的概念,进程是有声明周期的(动态产生,动态消亡)(2) 进程是一个程序的一个执行活动。 一个程序可以对应多个进程。原创 2020-11-25 22:30:51 · 627 阅读 · 0 评论 -
进程通信 管道
进程之间进行通信实质:信息(数据)的交换进程的地址空间是独立的,所以无法使用全局变量进行实现通信。如果要实现进程间的通信,那么就必须把数据或信息放到一个两个或多个进程都能够访问到的地方。进程的通信方式管道 :pipe (无名管道) fifo (有名管道)信号:signal消息队列 System V消息队列/POSIX消息队列信号量 System V 信号量/POSIX信号量共享内存 System V 共享内存/POSIX共享内存管道1.pipe (无名管道)原创 2020-11-26 14:26:26 · 265 阅读 · 0 评论 -
进程通信 signal
信号信号是进程间通信的一种方式,这种方式没有数据传输的只是在内核中传递了一个信号(整数),信号的表示是一个整数。不同的信号值,代表不同的含义。用户可以自定义信号。自定义的信号的含义由程序员来定和解释。Linux 系统查看 man 7 signal进程处理信号通过“软件中断/软中断”来实现的。 进程上下文: 在进程的环境下,“时间片轮转” 一个进程的执行状态分为: 用户态:在执行用户自己的代码 内核态:进入操作系统内环境 中断上下文:中断的环境下。进程在收到一个信号原创 2020-11-26 16:39:26 · 157 阅读 · 0 评论 -
进程通信 共享内存
1.共享内存进程间通信的一种方式,多个进程共享一段内存,“共享内存”。实现方式: 在内核中开辟一块空间,其它的进程通过 “映射”的方式 获取这段共享内存的引用(指针)进程 P1 可以映射这段内存,同时其它进程 p2也可以映射 这段内存, P1往这段内存中写数据,实际上就是往p2的进程 地址空间写数据,反之亦然。 类似于文件操作。2.System V 共享内存 API函数1.ftok 创建一个key #include <sys/types.h> #includ原创 2020-11-27 18:56:45 · 83 阅读 · 0 评论 -
进程通信 ※信号量※
信号量机制信号量(semaphore)是一种用于提供不同进程间或一个进程内部不同的线程间同步的机制.进程/线程,任务: 并发的实体同步 : 并发的实体间,相互等待相互制约,有序的,有条件的访问。 信号量的目的: 为了保护共享资源,让共享资源有序访问保护实现信号量的实质,其实是程序员之间的一种约定,用来保护共享资源的,访问设备: 如进程A 和 B,都要访问一个互斥设备,那么可以用一个信号量来表示 能不能访问该设备,然后每个进程访问该设备时,先去访问信号量, 如果能访问设备则先把信号量设置原创 2020-11-28 15:03:35 · 296 阅读 · 1 评论 -
线程
线程:Thread基本概念: (1) 线程是比进程更小的活动单位。它是进程中的一个执行路径(执行分子), 线程也是并发的一种情形。 (2) 进程的内部可以有多个线程,它们并发执行,但是进程内部所有的线程 共享整个进程的地址空间。 (3) main函数, 进程的一个主线程。 进程的指令部分分成多个 线程去并发执行。 线程特点: (1) 创建一个线程比创建一个进程的开销要小得多 因为创建一个线程,不需要拷贝进程得地址空间。 (2) 实现线程间的通信十分方便. 因为一个进原创 2020-12-01 15:51:29 · 115 阅读 · 0 评论