先说说线程
在多线程中,为了保证共享资源的正确性,我们常常会用到线程同步技术.
将一些敏感操作变成原子操作,保证同一时刻多个线程中只有同一个线程在执行这个原子操作。
我最常用的是互斥锁,也称独占锁。其次还有读写锁,信号量,条件变量等。
除此之外,我们在进程间通信时会用到信号,向某一个进程发送信号,该进程中设置信号处理函数,然后当该进程收到信号时,执行某些操作。
其实在线程中,也可...
分类:
编程语言 时间:
2015-04-16 17:34:25
阅读次数:
217
1、相关概述 命名管道(Named Pipes)是一种简单的进程间通信(IPC)机制。命名管道可以在同一台计算机的不同进程之间,或者跨越一个网络的不同计算机的不同进程之间的可靠的双向或单向的数据通信。 命名管道利用了微软网络提供者(MSNP)重定向器,因此无需涉及底层的通信协议等细节。命名管道是围绕...
.....最近在学习 APUE,所以顺便将每日所学记录下来,一方面为了巩固学习的知识,另一方面也为同样在学习APUE的童鞋们提供一份参考。本系列博文均根据学习《UNIX环境高级编程》一书总结而来,如有错误请多多指教。APUE主要讨论了三部分内容:文件IO、并发、进程间通信。文件IO: 标准IO:优....
分类:
其他好文 时间:
2015-04-14 00:26:11
阅读次数:
162
socket可以看成是用户进程与内核网络协议栈的编程接口。socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信。IPv4套接口地址结构通常也称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件中struct sockaddr_in { uint8_....
分类:
其他好文 时间:
2015-04-12 06:42:58
阅读次数:
135
网上有一堆关于Binder原理的文章,都很长,我希望能尽量把这个问题讲得简短些。
1)关于binder驱动
Binder在Android里被设计成了一个驱动,安装在/dev/binder,这也是Android和linux的重要区别之一:Android提出了一个新的进程间通信方式(IPC)。另外,这种方式是通过远程过程调用(RPC)实现的。
对Binder的操作和对其它驱动的操作是一样的,...
分类:
其他好文 时间:
2015-04-11 10:24:04
阅读次数:
123
建立命名管道,mknod mypipe p。命名管道存在硬盘上,而管道不是。 通过open打开这个命名管道,在内核中通过sys_open()实现,filename是"***/mypipe "。 相关部分,请参考Linux内核源代码情景分析-文件的打开。 sys_open进入filp_open,然后在open_namei中调用一个函数path_walk(),根据文件的路径名在文件系...
分类:
系统相关 时间:
2015-04-10 09:35:46
阅读次数:
223
一、我们先来介绍一下init_pipe_fs。static DECLARE_FSTYPE(pipe_fs_type, "pipefs", pipefs_read_super,
FS_NOMOUNT|FS_SINGLE);static int __init init_pipe_fs(void)
{
int err = register_filesystem(&pipe_fs_type);
if...
分类:
系统相关 时间:
2015-04-10 09:35:21
阅读次数:
258
转自 http://www.cnblogs.com/wzh206/archive/2010/05/13/1734901.htmlDBUS基础知识1. 进程间使用D-Bus通信D-Bus是一种高级的进程间通信机制,它由freedesktop.org项目提供,使用GPL许可证发行。D-Bus最主要的用途...
分类:
数据库 时间:
2015-04-09 15:20:03
阅读次数:
203
匿名管道管道是一个单向通道,有点类似共享内存缓存.管道有两端,包括输入端和输出端.对于一个进程的而言,它只能看到管道一端,即要么是输入端要么是输出端.os.pipe()返回2个文件描述符(r, w),表示可读的和可写的.示例代码如下:#!/usr/bin/python
import time
import osdef child(wpipe):
print('hello from child...
分类:
编程语言 时间:
2015-04-09 12:02:47
阅读次数:
191
1.文件映射(Memory-MappedFiles)内存映射文件允许应用程序把文件映射到一个进程的虚拟地址空间,这样文件内的数据就可以用内存读写指令来访问。通过内存文件映射,应用程序不必执行文件I/O操作也无需对文件内容进行缓冲处理。内存文件映射的这种特性是非常适合于用来管理大尺寸文件的。 2.共享...
分类:
系统相关 时间:
2015-04-08 19:39:27
阅读次数:
279