随笔分类 - .NET多线程
摘要:晚上睡醒了没事干,想到一个测试线程池可用线程数量的方法,本来觉得挺简单的,可是测试的时候,却发现了一个有趣的现象,发现我对线程池的理解一直有偏差。下面我放上我测试的一段小代码。[代码]
阅读全文
摘要:Monitor 类通过向单个线程授予对象锁来控制对对象的访问,提供同步对对象的访问的机制Monitor 具有以下功能: 它根据需要与某个对象相关联。它是未绑定的,也就是说可以直接从任何上下文调用它。不能创建 Monitor 类的实例。将为每个同步对象来维护以下信息:对当前持有锁的线程的引用。对就绪队列的引用,它包含准备获取锁的线程。对等待队列的引用,它包含正在等待锁定对象状态变化通知的线程。Mon...
阅读全文
摘要:.NET将关于多线程的功能定义在System.Threading名称空间中,因此,如果您的程序要使用多线程,必须引用此命名空间(using System.Threading)。 我们知道,在.NET中使用多线程有两种方式: 1,使用Thread创建一个新的线程。 2,使用ThreadPool。 首先我们先说说和Thread有关的几个概念。 1,创建线程和启动线程,如果代码可实现 Thread ne...
阅读全文
摘要:在看他们的区别之前,先看看AutoResetEvent和ManualResetEvent的用法 ManualResetEvent用法 【转载】浅谈AutoResetEvent的用法 我下边列出一段小程序: 1using System; 2using System.Threading; 3 4namespace AutoResetEvent_Examples 5{ 6 class ...
阅读全文
摘要:转载地址:http://hi.baidu.com/iaskall/blog/item/1938e00045f87012738b6526.html 今天在看一段DEMO代码的时候发现AutoResetEvent被反复用到,在MSND中查了资料同时到在网上搜到了一个很简短的例子,这个例子帮我理解AutoResetEvent的用法起了不少辅助作用,这里贴出来,希望对大家理解有所帮助: (代码都已经在V...
阅读全文
摘要:ManualResetEvent 允许线程通过发信号互相通信。通常,此通信涉及一个线程在其他线程进行之前必须完成的任务。 public static ManualResetEvent mre = new ManualResetEvent(false); ManualResetEvent建立时是把false作为start的初始状态,这个类用于通知另一个线程,让它等待一个或多个线程。注意,为了通知或监...
阅读全文

浙公网安备 33010602011771号