一、死锁的定义:两个或多个进程在无限期的等待永远不会发生的条件系统处于停滞状态,这种现象称为进程死锁。二、产生死锁的必要条件:1:互斥使用(资源独占):一个资源每次只能给一个进程使用;2:不可强占(不可剥夺):资源申请者不能强行的从占有者手中读取资源,资源只能有占有者资源释放;3:请求和保持:一个进...
分类:
其他好文 时间:
2014-06-09 23:53:11
阅读次数:
448
互斥锁用于上锁,条件变量则用于等待。条件变量是类型为pthread_cond_t的变量。一般使用如下函数:
#include
int pthread_cond_wait(pthread_cond_t *cptr, pthread_mutex_t *mptr);
int pthread_cond_signal(pthread_cond_t *cptr);每个条件变量总是有一个互斥锁与之关联。调用...
分类:
系统相关 时间:
2014-06-08 17:45:15
阅读次数:
337
概述
互斥锁把试图进入我们称之为临界区的所有其他线程都阻塞住。该临界区通常涉及对由这些线程共享一个或多个数据的访问或更新。读写锁在获取读写锁用于读某个数据和获取读写锁用于写直接作区别。读写锁的分配规则如下:
1、只要没有线程持有某个给定的读写锁用于写,那么任意数目的线程可以持有该读写锁用于读。
2、仅当没有线程持有某个给定的读写锁用于读或用于写时,才能分配该读写锁用于写。
即只要没有线程在...
分类:
系统相关 时间:
2014-06-08 09:54:51
阅读次数:
344
这是经典的最大点独立集还是可以转化成最大匹配数,为什么呢,因为求出最大匹配数之和,匹配的边的两个端点互斥,只能去一个,所以最后结果就用总点数-最大匹配数即可#include
#include #include #include using namespace std;int h[600],sex[6...
分类:
其他好文 时间:
2014-06-05 16:28:29
阅读次数:
296
POSIX信号量相关函数:
sem_open
sem_close
sem_unlink
sem_init
sem_destroy
sem_wait
sem_post
POSIX互斥锁
pthread_mutex_init
pthreaad_mutex_lock
pthread_mutex_unlock
pthread_mutex_...
分类:
其他好文 时间:
2014-06-05 12:39:14
阅读次数:
412
1、网络中进程之间如何通信?
本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:
消息传递(管道、FIFO、消息队列)
同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)
共享内存(匿名的和具名的)
远程过程调用(Solaris门和Sun RPC)
但这些都不是本文的主题!我们要讨论的是网络中进程之间如何通信?首要解决的问题是如何唯一标识一个进程,否则...
分类:
系统相关 时间:
2014-06-05 07:39:53
阅读次数:
376
本章要点: 基础:进程描述及控制 策略:进程调度 实现:互斥与同步 避免:死锁与饥饿进程定义:
可并发执行的程序,在一个数据集合上的运行过程; 申请/拥有资源的最小单位; 程序定义:静态概念,是指令和数据的集合,可长期存储; 进程与程序对应关系:
一个程序可以对应一个进程或者多个进...
分类:
其他好文 时间:
2014-06-01 12:09:07
阅读次数:
210
***************************************************************************************************************************
作者:EasyWave 时间:2014.05.31...
分类:
其他好文 时间:
2014-06-01 09:07:52
阅读次数:
305
QMutex类提供了一种保护一个变量和一段代码的方法。mutex.lock()
//锁住互斥量(mutex)。如果互斥量是解锁的,那么当前线程就立即占用并锁定它。否则,当前线程就会被阻塞,知道掌握这个互斥量的线程对它解锁为止。mutex.unlock()//解锁mutex.tryLock()//尝试...
分类:
其他好文 时间:
2014-05-29 23:19:56
阅读次数:
441
.Net组件程序设计之线程、并发管理(二)2.同步线程手动同步监视器互斥可等待事件同步线程所有的.NET组件都支持在多线程的环境中运行,可以被多个线程并发访问,如果没有线程同步,这样的后果是当多个线程同时访问
对象状态时,对象的状态可能被破坏,造成不一致性。.NET提供了两种方法来避免这样的问题,使...
分类:
编程语言 时间:
2014-05-29 04:29:33
阅读次数:
412