2008年6月21日

C#多线程学习笔记(四) --Lock and Monitor之二

摘要: a.Monitor方法(MSDN摘录) Enter, TryEnter 获取对象锁,此操作同样会标记临界区的开头。其他任务线程都不能进入临界区,除非它使用其他锁定对象执行临界区的指令。 Wait 释放对象上的锁以便允许其他线程锁定和访问该对象。在其他线程访问对象时,调用线程将等待。脉冲信号用于通知待待线程有关对象状态的更改。 Pulse(信号),PulseAll 向一个或多个等待线程发送信号。该信... 阅读全文

posted @ 2008-06-21 23:28 dinglin2006 阅读(426) 评论(0) 推荐(0) 编辑

C#多线程学习笔记(三)

摘要: a.今天学到一个非常试用的lock 语法: lock(expression) statement_block expression代表你希望跟踪的对象,通常是对象引用。一般地,如果你想保护一个类的实例,你可以使用this;如果你希望保护一个静态变量(如互斥代码段在一个静态方法内部),一般使用类名就可以了。而statement_block就是互斥段的代码,这段代码在一个时刻内只可能被一个线程执行。... 阅读全文

posted @ 2008-06-21 23:28 dinglin2006 阅读(241) 评论(0) 推荐(0) 编辑

C#多线程学习笔记(二)

摘要: a.其它线程都是依附于Main()函数所在的线程的 Main()函数是C#程序的入口,起始线程可以称之为主线程 如果所有的前台线程都停止了,那么主线程可以终止,而所有的后台线程都将无条件终止。 而所有的线程虽然在微观上是串行执行的,但是在宏观上你完全可以认为它们在并行执行。 b.可能通过Thread.ThreadState来访问线程当前的状态 Aborted:线程已停止 Ab... 阅读全文

posted @ 2008-06-21 23:27 dinglin2006 阅读(357) 评论(0) 推荐(0) 编辑

C#多线程学习笔记(一)

摘要: a.在C#中要使用线程要引用System.Threading; using System.Threading; b.在C#可以对程进行命名 Thread _thrd = new Thread(new ThreadStart()); _thrd.Name = "thisthrd.name" c.可以通过Thread的static属性获取当前线程 Thread.CurrentThread d.操作线... 阅读全文

posted @ 2008-06-21 23:25 dinglin2006 阅读(235) 评论(0) 推荐(0) 编辑

导航