- 浏览: 1485009 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
读《unix网络编程第二卷进程通信》
1.管道
2.消息队列
3.信号量
4.共享内存
这些在java中怎么实现?
如果是管道,参考http://www.iteye.com/topic/156804,看下面代码,
注意把“注意这里!!!!!!!!”的i换成256实验一下效果
如果是c里面
看unpv22e/pipe/mainpipe.c
-------------------------------------
共享内存参考http://coach.iteye.com/blog/738214
1.管道
2.消息队列
3.信号量
4.共享内存
这些在java中怎么实现?
如果是管道,参考http://www.iteye.com/topic/156804,看下面代码,
注意把“注意这里!!!!!!!!”的i换成256实验一下效果
import java.io.IOException; import java.io.PipedInputStream; import java.io.PipedOutputStream; public class CommunicateWhitPiping { public static void main(String[] args) { PipedOutputStream pos = new PipedOutputStream(); PipedInputStream pis = new PipedInputStream(); try { pos.connect(pis);//将管道输入流与输出流连接 此过程也可通过重载的构造函数来实现 } catch (IOException e) { e.printStackTrace(); } Producer p = new Producer(pos);//创建生产者线程 Consumer c = new Consumer(pis);//创建消费者线程 p.start();//启动线程 c.start(); } } class Producer extends Thread {//生产者线程(与一个管道输入流相关联) private PipedOutputStream pos; public Producer(PipedOutputStream pos) { this.pos = pos; } public void run() { int i = 99;//256,257,注意这里!!!!!!!! try { pos.write(i); } catch (IOException e) { e.printStackTrace(); } } } class Consumer extends Thread {//消费者线程(与一个管道输入流相关联) private PipedInputStream pis; public Consumer(PipedInputStream pis) { this.pis = pis; } public void run() { try { System.out.println(pis.read()); } catch (IOException e) { e.printStackTrace(); } } }
如果是c里面
看unpv22e/pipe/mainpipe.c
#include "unpipc.h" void client(int, int), server(int, int); int main(int argc, char **argv) { int pipe1[2], pipe2[2]; pid_t childpid; Pipe(pipe1); /* create two pipes */ Pipe(pipe2); if ( (childpid = Fork()) == 0) { /* child */ Close(pipe1[1]); Close(pipe2[0]); server(pipe1[0], pipe2[1]); exit(0); } /* 4parent */ Close(pipe1[0]); Close(pipe2[1]); client(pipe2[0], pipe1[1]); Waitpid(childpid, NULL, 0); /* wait for child to terminate */ exit(0); }
-------------------------------------
共享内存参考http://coach.iteye.com/blog/738214
发表评论
-
xl2tp 备份
2019-09-24 16:25 7482019年9月24日更新: 注意,需要开启firewall ... -
sdl笔记
2019-01-31 17:19 745sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1445参考https://bellard.org/jslinux/t ... -
aws搭建xl2tp给iphone使用
2018-12-26 21:37 19082019年12月26日 可以参考原来的配置 https:// ... -
consul的基本使用
2017-06-27 11:13 1410### 安装 [centos7上consul的安装](ht ... -
lvs的helloworld
2017-06-13 20:36 604###################lvs######### ... -
系统调用的helloworld
2017-05-04 16:14 666《2.6内核标准教程》 p293 #include < ... -
bitcoin和cgminer的安装
2017-04-05 22:45 1969参考 http://blog.csdn.net/rion_ch ... -
ceph安装和常用命令
2017-03-21 21:55 968/etc/hosts ssh-keygen ssh-copy- ... -
mobile terminal 笔记
2016-12-02 15:35 659找出旧的iphone4 越狱之后可以变个小操作系统 mobi ... -
socket基础和select(python)
2016-06-14 17:21 1811上接 c语言的socket基础ht ... -
socket基础(c语言)
2016-06-14 16:45 1011不使用select 普通的基础socket连接,对多个客户端的 ... -
ffmpeg+nginx 的直播(2,直播摄像头和麦克风)
2016-05-28 20:21 4398假设我的服务器是centos7 192.168.139.117 ... -
ffmpeg+nginx 的直播(1,直播播放的视频文件)
2016-05-26 17:11 663264位操作系统centos7 ############ 1.一 ... -
socat和netcat(nc)
2016-04-29 22:36 1759转 原文链接: http://www.wenquan.name ... -
neutron基础九(qemu nat网络)
2016-02-06 17:21 1635接上基础八,kvm透传nested忽略 1.在主机ce ... -
neutron基础八(qemu 桥接网络)
2016-02-06 13:13 1553qemu的桥接和nat的qemu启动命令是一样的,但是后续的脚 ... -
neutron基础七(qemu tap)
2016-02-02 17:02 1038使用qemu 建立个虚拟机 然后用tap设备, 根据基础六,t ... -
neutron基础六(bridge fdb)
2016-01-28 18:30 2287转发表 在三台机器上建立三个namespace 192.16 ... -
南北流量
2016-01-23 23:26 1841一、三层网络架构: 接入层:负责服务器的接入和隔离 汇聚层:汇 ...
相关推荐
与标准Linux内核相比,Android内核在文件系统、进程间通信机制和内存管理方面有所不同。 在文件系统方面,Android引入了专为闪存存储优化的YAFFS2文件系统,以适应移动设备的存储需求。YAFFS2的设计使得其更容易...
在Linux系统中,使用C#进行音量控制和监听音量变化可能会涉及到多个技术层面,包括跨平台.NET框架(如Mono或.NET Core)、Linux音频框架(如ALSA或PulseAudio)以及进程间通信(IPC)来接收音量变化的通知。...
2. **Mozilla平台下的XPCom组件开发技术**:XPCom是Mozilla项目的一部分,允许在不同进程间共享组件,提供了跨平台的组件交互机制,适用于构建复杂的多层应用程序。 3. **CORBA组件开发技术**:CORBA(Common ...
- AIDL:理解进程间通信(IPC)原理,使用AIDL实现跨进程通信。 9. **Android组件** - Fragment:在Activity中使用Fragment,理解Fragment的生命周期。 - ContentProvider:作为数据共享的桥梁,提供统一的数据...
- **Unix/Linux系统编程**:包括文件和目录操作、进程间通信(IPC)、信号处理等。 - **TCP/IP网络编程**:客户端/服务器模型、套接字编程、HTTP协议解析等。 - **跨平台编程**:如何将Windows平台下的C++代码移植到...
本篇文章详细分析了实现Android与J2ME(Java 2 Platform, Micro Edition)平台间即时通信的关键技术,并且介绍了如何在模拟环境下实现不同平台终端设备间的即时通信功能。 #### 关键词 - Android - J2ME - 即时...
3. **服务器和网络通信**:升级前需要确保本机能够访问集群所有服务器的IP及通讯端口,这是分布式系统升级的基础,确保各节点间通信正常。 4. **分析中心**:通过访问`http://127.0.0.1/项目名/analyses`页面,可以...
【安卓Android源码——365MobileSecretary v1.0.6(365手机助手AIDL)】 在深入解析365...通过分析源码,开发者可以掌握更多关于服务设计、数据传输和进程间通信的知识,这对于提高Android开发技能大有裨益。
4. **进程间通信(IPC)**:当需要一个进程通知另一个进程时,就需要使用进程间通信。常见的IPC方式有管道、消息队列、共享内存、套接字等。在本实例中,可能通过某种IPC机制来控制目标程序的暂停。 5. **操作系统...
它通过内存屏障和指令重排序来实现线程间通信。 (四)JVM 内存管理 1. Java 内存模型是如何划分的? 答:JVM 内存分为堆内存、栈内存、方法区、程序计数器和本地方法栈。其中,堆内存存放对象实例,栈内存存放基本...
**多线程**:了解线程的基本概念、线程间通信、线程池的使用等。多线程环境下如何确保数据一致性是常见问题之一。 **缓存方案**:如Redis、Memcached等。了解缓存的工作原理、应用场景及如何处理缓存与数据库之间的...
- **进程间通信(IPC)**:“Well-defined API for inter-process communication.” Android提供了完善的进程间通信API,使得不同应用程序能够安全高效地进行交互。 - **良好的边界设定**:“Translation: Good ...
4. **JMM(Java内存模型)**:理解Java内存模型的工作原理,确保线程间的正确通信。 5. **Linux内核与操作系统**:学习内存映射、内核同步、进程管理等操作系统基础知识。 四、面试算法篇 1. **数据结构与算法**:...
深入理解Binder的设计原理及其与传统IPC的对比,对于把握进程间通信的实现细节及性能优化至关重要。 #### Binder通信模型与协议 Binder的设计围绕Client-Server模型展开,其中服务器端负责提供服务,客户端则请求...
3. Socket通信:Socket是网络通信的基础,它提供了一种进程间通信(IPC,Inter-Process Communication)的方式。在Android中,串口Socket通信常用于设备间的通信,例如Android设备与外部硬件设备之间的数据传输。...
3.4进程间通信只用TCP . . . . . . . . . . . . . . .. . . . . . . . . . . . . . 65 3.5多线程服务器的适用场合. . . . . . . . . . . . . . . . .. . . . . . . . . . 67 3.5.1必须用单线程的场合. . . . . . . ....
- **Socket网络技术**:用于实现进程间通信,创建TCP/UDP连接,发送和接收数据。 - **RegularExpression**:正则表达式,用于字符串的匹配、查找、替换等操作。 - **Java反射技术**:运行时动态访问和修改类的...
- 进程管理:进程间通信机制(IPC)的实现方式。 - **设计模式** - 单例模式:单例模式的实现方式及其应用场景。 - 工厂模式:工厂模式的设计思想及其优缺点。 - 观察者模式:观察者模式的应用场景及其优势。 ...