全部博文(1493)
发布时间:2012-12-11 17:27:51
共享存储共享存储允许两个或更多进程共享一个给定的存储段。因为数据部需要在客户进程和服务进程之间复制,所以这是最快的一种IPC。使用共享存储时要掌握的唯一敲门时多个进程之间对一个给定存储区的同步访问。若服务器进程正在将数据放入共享存储区,则在它完成这一操作之前,客户进程不应当去取这些数据。通常,信号量被用来实现对共享存储区的同步访问。共享内存要用到一下几个函数:key_t ftok(char *path,int id)注意:这个函数是获取一个键值,path要为一个具体存在的路径名,id要为一个宏例如:#define number 255key=ftok("/dev/null",number) ......【阅读全文】
发布时间:2012-12-11 11:46:01
Linux下的线程是一个非常复杂的问题,这里只是简单的介绍线程的创建和基本的使用。先介绍什么是线程.我们编写的程序大多数可以看成是单线程的.就是程序是按照一定的顺序来执行.如果我们使用线程的话,程序就会在我们创建线成的地方分叉,变成两个"程序"在执行.粗略的看来好象和子进程差不多的,其实不然.子进程是通过拷贝父进程的地址空间来执行的.而线程是通过共享程序代码来执行的,讲的通俗一点就是线程的相同的代码会被执行几次.使用线程的好处是可以节省资源,由于线程是通过共享代码的,所以没有进程调度那么复杂. 线程的创建和使用 线程的创建是用下面的几个函数来实现的. #include <......【阅读全文】
发布时间:2012-12-11 11:45:52
一、malloc()和free()的基本概念以及基本用法: 1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 关于分配失败的原因,应该有多种,比如说空间不足就是一种。 void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新得到自由。 2、函数的用法: 其实这两个函数用起来倒不是很难,也就是malloc()之后觉得用够了就甩了它把它给free()了,举个简单例子:......【阅读全文】
发布时间:2012-12-11 08:57:55
信号量定义和运用:每一时刻只允许单线程访问 情形一: class A { public: A(); ~A(); public: ini(); Unini();  ......【阅读全文】
发布时间:2012-12-11 08:57:49
1。POSIX无名信号量 如果你学习过操作系统,那么肯定熟悉PV操作了.PV操作是原子 操作.也就是操作是不可以中断的,在一定的时间内,只能够有一个进程的代码在CPU上面 执行.在系统当中,有时候为了顺利的使用和保护共享资源,大家提出了信号的概念. 假设 我们要使用一台打印机,如果在同一时刻有两个进程在向打印机输出,那么最终的结果会 是什么呢.为了处理这种情况,POSIX标准提出了有名信号量和无名信号量的概念,由于Li nux只实现了无名信号量,我们在这里就只是介绍无名信号量了. 信号量的使用主要是用 来保护共享资源,使的资源在一个时刻只有一个进程所拥......【阅读全文】