IPC(Inter-Process Communication)主要手段:信号量、共享内存、消息队列。另外还有:管道、Socket等。非网络IPC和网络IPC(Socket API)都是需要的。IPC按形式上分可分成4种不同的IPC形式:1)消息传递(管道、FIFO命名管道、消息队列)2)同步(互斥...
分类:
系统相关 时间:
2015-09-15 12:48:24
阅读次数:
277
一、网络中进程之间如何通信? 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:1、消息传递(管道、FIFO、消息队列)2、同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)3、共享内存(匿名的和具名的)4、远程过程调用(Solaris门和Sun RPC) 但这些都不是本文的主题!...
分类:
编程语言 时间:
2015-09-11 12:26:01
阅读次数:
292
转自http://www.cnblogs.com/skynet/archive/2010/10/30/1865267.html前言线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。我在某QQ群里见到...
分类:
编程语言 时间:
2015-09-10 17:18:20
阅读次数:
198
Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。 读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,你只要上好相应的锁即可。如果你的....
分类:
其他好文 时间:
2015-08-27 12:56:46
阅读次数:
140
文章对应视频的第12课,第5、6、7、8节。在这之前还有查询方式的驱动编写,中断方式的驱动编写,这篇文章中暂时没有这些类容。但这篇文章是以这些为基础写的,前面的内容有空补上。按键驱动——按下按键,打印键值:目录概要poll机制异步通知同步互斥阻塞定时器防抖概要:查询方式: 12-3 缺点:占用CPU...
分类:
其他好文 时间:
2015-08-20 22:16:30
阅读次数:
201
概述
进程是资源分配的基本单位,进程由线程组成。
线程是系统执行调度的基本单位,线程隶属于进程。
为何引入线程
1、进程在同一时间只能干一件事,比如我们在上课的时候,往往要耳朵听课,手记笔记,脑子思考,如果套用进程的机制,那么我们听课的时候也不能记录笔记,更不能思考。
2、当进程某个操作阻塞时,整个进程就会挂起,也就是说当老师讲课时需要思考的时候,我们也还只能听课,不能思考也不能记录...
分类:
编程语言 时间:
2015-08-20 17:02:12
阅读次数:
145
单进程的线程可以使用临界资源对象来解决同步互斥问题,该对象不能保证哪个线程能够获得到临界资源对象,因而该系统能公平的对待每一个线程。
每个进程中访问临界资源的那段代码称为临界区(Critical Section)(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。...
分类:
编程语言 时间:
2015-08-19 11:20:38
阅读次数:
142
1. 问题引入:开两个线程同时对一个全局变量10万次做自加,结果会如何?
#include
#include
#include
unsigned int g_cn = 0;
void* thread_proc (void* arg) {
unsigned int i;
for (i = 0; i < 100000; i++)
++g_cn;
return NULL;
}
...
分类:
编程语言 时间:
2015-08-02 23:27:26
阅读次数:
165
一,Lock
Lock比传统的线程模型中的synchronized方式更加面向对象,因为“锁”本身就是一个对象。
两个线程执行的代码要实现同步互斥的效果,他们必须用同一个Lock对象。
读写锁:(1)读锁:多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,我们只需要代码中用对相应的锁即可。如果只读数据,那么可以很多人(线程)同时读,但是不能同时写,此时就加读锁。如果代...
分类:
编程语言 时间:
2015-07-31 16:14:45
阅读次数:
98
“信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在 哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这 个资源。...
分类:
编程语言 时间:
2015-07-28 22:44:51
阅读次数:
373