随笔分类 -  有用

进程间通信方法
摘要:1.进程间通信方法 进程用户空间是相互独立的,是不能相互访问的。但很多情况下进程间需要互相通信,来完成系统的某项功能。 通信方法:管道(匿名管道和命名管道)、共享内存、消息队列、IPC信号量、套接字(socket)。 2.管道 管道是半双工的,需要两端通信时,需要建立两个管道。 管道分为匿名管道(p 阅读全文

posted @ 2019-02-28 15:05 能量星星 阅读(504) 评论(0) 推荐(0)

线程同步的方法
摘要:1.线程同步的方法 线程的同步方法有互斥锁、条件变量(cond)、读写锁和POSIX信号量。 2.互斥锁 int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_mutex_attr_t *mutexattr); 初始化互斥锁。 mut 阅读全文

posted @ 2019-02-28 14:41 能量星星 阅读(790) 评论(0) 推荐(0)

内存映射mmap
摘要:1.mmap mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的虚拟地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调 阅读全文

posted @ 2019-02-27 15:42 能量星星 阅读(1565) 评论(0) 推荐(0)

Linux进程wait函数、僵尸进程、孤儿进程
摘要:1.僵尸进程、孤儿进程 僵尸进程:当一个子进程结束运行(一般是调用exit、运行时发生致命错误或收到终止信号所导致)时,子进程的退出状态(返回值)会报给操作系统,系统则以SIGCHLD信号告知父进程,此时子进程的进程控制块(PCB)仍驻留在内存中。父进程收到SIGCHLD后,会调用wait()函数获 阅读全文

posted @ 2019-02-27 09:54 能量星星 阅读(1574) 评论(0) 推荐(0)

fork系统调用
摘要:1.fork系统调用 pid_t fork(void); 该函数每次调用都返回两次,在父进程中返回的是子进程的PID,在子进程中返回0。失败返回-1,并设置errno。(因为父进程可能需要根据返回值来记录子进程的id,而子进程只需要根据返回值0来判断是否创建成功) fork函数复制当前进程,在内核进 阅读全文

posted @ 2019-02-26 16:35 能量星星 阅读(762) 评论(0) 推荐(0)

导航