只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2012-09-08 20:51 vivianC 阅读(10) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/small_sea/article/details/4205579 阅读全文
posted @ 2012-09-08 19:53 vivianC 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 僵尸进程:一个子进程在其父进程还没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。僵尸进程将会导致资源浪费,而孤儿则不会。每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init来接管他,成为他的父进程。一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据 阅读全文
posted @ 2012-09-08 19:21 vivianC 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 由于不同的进程运行在各自不同的内存空间中.一方对于变量的修改另一方是无法感知的.因此.进程之间的信息传递不可能通过变量或其它数据结构直接进行,只能通过进程间通信来完成。根据进程通信时信息量大小的不同,可以将进程通信划分为两大类型:控制信息的通信和大批数据信息的通信.前者称为低级通信,后者称为高级通信。低级通信主要用于进程之间的同步、互斥、终止、挂起等等控制信息的传递。高级通信主要用于进程间数据块的交换和共享 常见的高级通信有管道(PIPE)、消息队列(MESSAGE)、共享内存(SHARED MEM0RY)等。这里主要比较一下高级通信的这三种方式的特点。管道通信(PIPE) 两个进程利用管道进 阅读全文
posted @ 2012-09-08 19:09 vivianC 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/welkinwalker/archive/2011/01/03/1925027.html定义 线程安全:被多个并发的线程反复调用时,他会产生正确的结果。 可重入:当被多个线程调用的时候,不会引用任何共享数据。 线程安全的(Thread-Safe): 如果一个函数在同一时刻可以被多个线程安全地调用,就称该函数是线程安全的。 线程安全函数解决多个线程调用函数时访问共享资源的冲突问题。 可重入(Reentrant): 函数可以由多于一个线程并发使用,而不必担心数据错误。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重 入性... 阅读全文
posted @ 2012-09-08 18:27 vivianC 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括: 1.线程ID 每个线程都有自己的线程ID,这个ID在本进程中是唯一的。进程用此来标 识线程。 2.寄存器组的值 由于线程间是并发运行的,每个线程有自己不同的运行线索,当从一个线 程切换到另一个线程上时,必须将原有的线程的寄存器集合的状态保存,以便 将来该线程在被重新切换到时能得以恢复。 3.线程的堆栈 堆栈是保证线... 阅读全文
posted @ 2012-09-08 18:23 vivianC 阅读(245) 评论(0) 推荐(0) 编辑