- 博客(6)
- 收藏
- 关注
原创 Linux IPC之共享内存
http://blog.chinaunix.net/uid-26430381-id-3785138.html进程都有自己的虚拟地址空间(每个进程的虚拟地址空间都不一样),自己只能操作自己的地址空间(虚拟地址空间),这时如何实现进程间的数据交换,这里内核给我们提供了接口,让多个进程共同操作同块特殊的内存区域,这就实现了数据交换共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内
2016-02-03 00:25:53
408
原创 线程的同步之条件变量
4.2.线程的同步6条件变量条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待条件变量的条件成立而挂起;另一个线程使条件成立(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。1、 创建和注销 条件变量和互斥锁一样,都有静态、动态两种创建方式: 静态方式使PTHREAD_COND_INITIALIZER常量
2016-02-03 00:22:54
367
原创 多线程总结下
线程的取消:线程本身使用资源的释放线程清理函数线程资源(内存,文件描述符)保护,线程锁mutex线程的同步,条件perro 查看错误以前很多函数返回值ret为 -1,系统将错误码存到全局变量errno(所以在用变量名时不能用它)中,perror函数读取变量errno,从而打印错误信息而在posix 标准中只打印sucess,不会打印错误信息,因为posix没有将系
2016-02-02 00:07:25
374
原创 多线程总结上
虚拟计时器 : 进程状态是R 用户态的运行时间实用计时器 :进程状态是R 用户态和内核态的总运 行时间——————————————————多线程 协程上下文:进程执行的线程上下文切换:进程打开的标准输入、标准输出和错误输出,当切换到另一个进程时,需要进行压栈(即压入内存),把一个进程的现场保存下来,然后去执行另外
2016-02-02 00:06:39
306
原创 信号量应用场景总结
如果在共享内存中有并发的操作,即多个进程同时往同一块共享内存写东西,就会出错,例如两个并发进程,同时操作共享内存(往其写),会在中途出错。详见现在就用信号量来保护共享内存,这里为p,确保其结果为20000000信号量(相当于一个红绿灯) 通过这个灯来保护共享资源(让其它人操作不了)级别:cpu ,寄存器,一级缓存,二级缓存(缓存相当于高级ram,只是放在cpu里边,其存
2016-01-31 14:59:26
2984
原创 signal 信号处理的一系列操作总结
现在编写的代码都是按顺序依次执行的,多核编程才会考虑程序的并发关于signalIF 同时设定:signal(SIGINT,SIG_IGN)signal(SIGINT,SIG_DFL)不可能同时执行,因为:内核中有一个函数指针void(*p) (int),p(int )注册了某个动作以后,函数指针的值就被改变了,当信号来时会直接调用函数指针,即调用
2016-01-31 14:38:57
971
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人