hq进程、线程和进程间通信
文章平均质量分 81
进程、线程和进程间通信学习笔记
ssz008
这个作者很懒,什么都没留下…
展开
-
网络编程学习笔记一(网络基础+TCP编程+UDP编程)
1.每一层实现不同的功能,对上层的数据做透明传输2.每一层向上层提供服务,同时使用下层提供的服务。原创 2024-03-25 09:16:00 · 1102 阅读 · 0 评论 -
进程间通信学习笔记(信号)
有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。= -1:发送信号给,有权限发送的所有进程。sa_sigaction: 另一个信号处理函数,它有三个参数,可以获得关于信号的更详细的信息。信号递达(Delivery ):实际信号执行的处理过程(3种状态:忽略,执行默认动作,捕获)SA_NODEFER:使对信号的屏蔽无效,即在信号处理函数执行期间仍能发出这个信号。功能:将进程的屏蔽字替换为由参数sigmask给出的信号集,然后挂起进程的执行。原创 2024-03-02 16:35:34 · 1113 阅读 · 0 评论 -
进程间通信学习笔记(共享内存)
由以下几个常值指定:MAP_SHARED(共享的)MAP_PRIVATE(私有的)MAP_FIXED(表示必须使用start参数作为开始地址,如果失败不进行修正),其中MAP_SHARED和MAP_PRIVATE必选其一,而MAP_FIXED则不推荐使用,MAP_ANONYMOUS(匿名映射,用于血缘关系进程间通信)(4)用于映射的文件大小必须>0,当映射文件为0时,指定非0大小创建映射区,访问映射地址会报总线错误,指定0大小创建映射区,报非法参数错误(Invalid argument)原创 2024-02-27 21:24:02 · 905 阅读 · 0 评论 -
进程间通信学习笔记(有名管道和无名管道)
在内核里面开辟一片内存,进程1和进程2都可以通过这片内存进行通信。),进程异常终止(也可以使用SIGPIPE信号,使进程不终止)(1)管道中有数据,read返回实际读到的字节数。(2)管道读端没有全部关闭((1)管道读端全部被关闭(open函数四种状态。原创 2024-02-26 22:01:52 · 1098 阅读 · 0 评论 -
条件变量、线程池以及线程的GDB调试学习笔记
我们平时创建一个线程,完成某一个任务,等待线程的退出。但当需要创建大量的线程时,假设T1为创建线程时间,T2为线程任务执行 时间,T3为线程销毁时间,当T1+T3>T2,这时候就不划算了,使用线程池可以降低频繁创建和销毁线程所带来的开销,任务处理时间比较短的时候这个好处非常显著。执行20个任务,而线程池的容量是10,所以会有10个在等待着执行。通俗的讲就是一个线程的池子,可以循环的完成任务的一组线程集合。:为了实现等待某个资源,让线程休眠,提高运行效率。:生产者消费者问题,是线程同步的一种手段。原创 2024-01-28 18:20:49 · 1235 阅读 · 0 评论 -
线程的同步和互斥学习笔记
临界资源概念:不能同时访问的资源,比如写文件,只能由一个线程写,同时写会写乱。比如外设打印机,打印的时候只能由一个程序使用。外设基本上都是不能共享的资源。生活中比如卫生间,同一时间只能由一个人使用。临界区互斥机制。原创 2024-01-23 21:18:44 · 1146 阅读 · 0 评论 -
线程的取消学习笔记
线程取消,必须要设置取消点,如果没有则手动设置。不是说取消就取消,线程的取消点主要是阻塞的系统调用。出错原因,retv接收不到字符串,所以不能打印。将printf那一行注释掉就可以。PTHREAD_CANCEL_DEFERRED //等到取消点才取消(默认是这个)PTHREAD_CANCEL_ASYNCHRONOUS //目标线程会立即取消。原创 2024-01-21 14:30:27 · 584 阅读 · 0 评论 -
线程的创建与回收
成功返回0,失败时返回错误码thread:线程对象attr:线程属性,NULL代表默认属性routine:线程执行的函数arg:传递给routine的参数,参数是void *,注意传递参数格式pthread_t pthread_self(void) 查看自己的TID//testThread强制返回void *最后一个参数。原创 2024-01-20 20:30:21 · 1251 阅读 · 0 评论 -
exec函数簇和守护进程
exec函数使得进程当前内容被指定的程序替换。原创 2024-01-14 10:06:12 · 560 阅读 · 0 评论 -
进程的创建与回收学习笔记
存放在磁盘上的指令和数据的有序集合(文件)静态的执行一个程序所分配的资源的总称进程是程序的一次执行过程动态的,包括创建、调度、执行和消亡在linux下,除了0号进程外的任何进程都是别人创建的,都是子进程。原创 2024-01-13 15:41:01 · 645 阅读 · 0 评论