![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
进程,线程balabala
Amo-wintercs
神的随波逐流~
展开
-
线程池
线程池 利用一个队列作为线程池的存放容器queue.h#ifndef QUEUE_H#define QUEUE_H#include <stdbool.h>#include <stdio.h>#include <stdlib.h>typedef struct Queue{ void** arr; int cal; int front; int rear;}Queue;//创建队列Queue* create_queue(int cal);原创 2021-03-31 08:43:51 · 75 阅读 · 0 评论 -
进程与线程基础
线程管理线程介绍 什么是线程:线程就是进程中负责执行的部分,是进程内部的控制序列,它是轻量级的, 它没有:独立的内存资源,代码段,数据段,堆区,环境变量,命令行参数,文件描述符,信号处理函数,当前工作目录。 它有:线程拥有独立的栈内存,也就是它自己的局部变量 一个进程中可以创建多个线程,一个进程中至少有一个线程(主线程),也可以再创建多个线程。注意:进程是个资源单位,而线程是个执行单位,线程是进程的一部分,进程中正是有了线程才能动起来POSIX线程 1、早期各计算机厂商自己提供是原创 2021-03-29 20:43:27 · 67 阅读 · 0 评论 -
生产者消费者模型
生产者消费者 生产者:生产数据的线程 消费者:使用,处理数据的线程 缓冲区:隔离生产者和消费者,这样可以避免相互等待,提高运行效率 生产者快于消费者:缓冲区爆满 消费者快于生产者:缓冲区一直空 使用条件变量可以解决生产者与消费者之间效率不匹配的问题 生产者快于消费者:通知消费者加速消费,生产者睡眠降低生产速度。 消费者快于生产者,通知生产者加速生产,消费机睡眠降低消费速度。 pcm.c#include <stdio.h>#include <原创 2021-03-29 20:41:27 · 84 阅读 · 0 评论 -
多路复用基础
多路复用 使用一个进程(且只有主线程)同时监控若干个文件描述符的读写,这种读写模式叫多路复用。 多用于tcp的服务端,用于监控客户端的连接和数据的收发。 优点: 1、不需要频繁的创建进程 2、销毁进程从而节约了内存资源、时间资源 3、避免了进程之间的竞争和等待 缺点: 1、单个客户端任务不能太耗时、否则其他客户端就会感知到卡顿。 适用环境: 并发量高,但是任务量短小不耗时。例如web服务器最难用的selectselect: int select(int原创 2021-03-22 16:03:53 · 192 阅读 · 0 评论