进程通常分为就绪、运行和阻塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下:进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作和信号量。其中信号量起到了至关重要的作用。信号量信号量是最早出现的用来解决进程同步与互斥问题的机制。 信号量(Saphore)由...
分类:
其他好文 时间:
2014-07-22 23:06:35
阅读次数:
343
食物链
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 41805
Accepted: 12160
Description
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。
现有N个动物,以1-N编号。每个动物都...
分类:
其他好文 时间:
2014-05-04 12:42:36
阅读次数:
330
突然静下来要写点什么的时候却又不知该从何说起。...
分类:
其他好文 时间:
2014-05-04 12:42:14
阅读次数:
308
多线程编程之线程同步互斥量
Pthread是 POSIX threads 的简称,是POSIX的线程标准。
Pthread线程同步指多个线程协调地,有序地同步使用共享资源。【C/C++多线程编程之五】pthread线程深入理解中讲述到,多线程共享进程资源,一个线程访问共享资源需要一段完整地时间才能完成其读写操作,如果在这段时间内被其他线程打断,...
分类:
编程语言 时间:
2014-05-03 16:10:12
阅读次数:
336
Semaphore是一个计数的信号量,可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程个数,例如实现一个文件允许的线程访问数。打个通俗的比喻,Semaphore实现的功能类似厕所有4个坑,假如有10个人上厕所,那么同时有多少个人去上厕所呢?同时只.....
分类:
编程语言 时间:
2014-05-01 18:41:21
阅读次数:
353
JDK1.5提供了一个计数信号量Semaphore类。Semaphore
通常用于限制可以访问某些资源(物理或逻辑的)的线程数目,并提供了同步机制。Semaphore提供了两个构造器来创建对象:1)Semaphore(int
permits):创建具有给定的许可数和非公平的公平设置的Semaphor...
分类:
编程语言 时间:
2014-05-01 11:33:50
阅读次数:
431
背景:
写了个程序,主要实现的功能为主线程创建两个子线程,之后主线程进入等待事件的循环。子线程1对临界资源cnt的值减2并输出cnt的值。子线程2对cnt的值加1并输出cnt的值,且当cnt为50的时候触发事件对象hend_even,子进程2退出。主线程收到hend_even后杀死子线程1,之后进入scanf阻塞。。。
代码示例:
#include
#include
DWORD WIN...
分类:
编程语言 时间:
2014-04-29 13:31:21
阅读次数:
377
启动mysqld,并进入listen阶段函数调用栈:mysqld_main():
my_init();初始化变量,锁,错误串 my_thread_global_init(): 初始化互斥锁,信号量,线程独享变量
load_defaults();查找my.cnf sys_var_init()...
分类:
数据库 时间:
2014-04-28 08:11:56
阅读次数:
1095