随笔分类 - 多线程
摘要:多线程 多线程的好处 多线程可以提高CPU的使用效率 比如单线程运行时遇到网络等待的耗时操作时,只能乖乖的等待,且交互终端 但是多线程的情况下,一个线程负责交互,另一个负责计算 线程的访问权限 知道哪些数据是线程私有,哪些变量是线程之间共享数据 线程调度和优先级 当线程数量小于处理器数量的时候就是真
阅读全文
摘要:makefile v44:v44.o gcc -o v44 v44.o -lm -lpthread v44.o:v44.c gcc -c v44.c .PHONY:clean clean: -rm v44 -rm *.o -rm *.txt v44.c // 多线程排序-v44-多进程-共享内存 #
阅读全文
摘要:makefile v33:v33.o gcc -o v33 v33.o -lm -lpthread v33.o:v33.c gcc -c v33.c .PHONY:clean clean: -rm v33 -rm *.o -rm *.txt v33.c // 多线程排序-多进程-管道通信-V33 #
阅读全文
摘要:makefile v22:v22.o gcc -o v22 v22.o -lm -lpthread v22.o:v22.c gcc -c v22.c .PHONY:clean clean: -rm v22 -rm *.o -rm *.txt v22.c // 多线程排序-v22 #include <
阅读全文
摘要:源码 // 拆分数据使用多线程-V11.c #include <stdio.h> #include <pthread.h> #include <time.h> #include <math.h> #include <string.h> #include <stdlib.h> #include <pt
阅读全文
摘要:#include <stdio.h> #include <stdlib.h> #include <math.h> // #include <time.h> #include <sys/times.h> #include <stdbool.h> #define SIZE 16 struct size_
阅读全文
摘要:概念 启动 进程脚本 守护进程的父进程 特点 查看守护进程 分类 启动方式 守护进程基本步骤 第一步:创建子进程,父进程退出 第二步:在子进程中创建新对话 第三步:改变当前目录为根目录 第四步:重设文件权限掩码 第五步:关闭文件描述符 第六步:守护进程退出处理 #include <stdio.h>
阅读全文
摘要:#include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <pthread.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #inc
阅读全文
摘要:并发和异步机制,导致线程之间资源竞争的无序性。 由此,引入同步机制,消除复杂性,实现线程之间的数据共享。 异步的定义是什么? 未搞懂 线程同步 思想:同步各个线程对资源的访问,比如:全局变量、文件。 解决方法:锁,获得锁的线程才能完成读写操作,一个原子操作。 原子操作是未了防止CPU执行计算过程中,
阅读全文
摘要:互斥量 原因 解决方法 过程 使用 初始化 加锁&解锁 二次加锁 解锁时的错误 条件变量
阅读全文
摘要:调试工具 valgrind内存泄漏检测 参考连接: https://zhuanlan.zhihu.com/p/75416381 https://www.cnblogs.com/lidabo/p/4377545.html https://www.cnblogs.com/bokeyuan-dlam/ar
阅读全文
摘要:概念 使用多线程在做串行任务时,需要阻塞。 线程比进程有优势的地方 同一个进程的多个线程可以并发执行 进程 VS 线程 进程堆栈 线程共享的资源属性 线程数据类型 线程标识 进程ID是唯一的,但线程ID只有在所属的进程上下文才有意义。 对两个线程ID进行比较。 获取自身线程ID 判断两个线程ID是否
阅读全文