class Program { static void Main(string[] args) { //在t1线程中调用LockMe,并将deadlock设为true(将出现死锁) int i = 10; while (i > 0) { Thread t1 = new Thread(LockMe); t1.Start(true); Thread.Sleep(1000); Console.WriteLine(string.Format("1.i:{0},开始调用LockMe :{1}&q…
一. 引子 最近想自己写个简单的 WEB SERVER ,为了先练练手,熟悉下在LINUX系统使用基本的进程.线程.互斥等,就拿以前学过的 OS 问题开开刀啦.记得当年学读者写者问题,尤其是写者优先的时候,那是真心纠结啊.刚才还觉得理解了,过一会儿又糊涂了.现在重新再看,还是容易纠结.没办法,用得少.我把读者优先和写者优先都实现了一下.选择性重看了小部分<unix高程>使用了多线程+互斥量实现. 二. 互斥量与信号量 互斥量如其名,同一时间只能被一个线程占有,实现线程间对某种数据结构的互斥…