
.NET
文章平均质量分 76
NoNeil
这个作者很懒,什么都没留下…
展开
-
C#线程模拟生产者消费者
【需求说明】生产者消费者问题 • 一个大小为3的缓冲区,初始为空 • 2个生产者 – 随机等待一段时间,往缓冲区添加数据, – 若缓冲区已满,等待消费者取走数据后再添加 – 重复6次 • 3个消费者 – 随机等待一段时间,从缓冲区读取数据 – 若缓冲区为空,等待生产者添加数据后再读取 – 重复4次说明: • 显示每次添加原创 2012-03-26 19:16:25 · 3381 阅读 · 1 评论 -
线程同步之等待句柄
1、WaitHandle类是个抽象类,有方法:WaitOne()、WaitAll()、WaitAny(), 功能实现由其子类完成。2、互斥同步对象Mutex,派生自WaitHandle类,有两个状态:onwed、unowned。private Mutex m = new Mutex();public void DoSomething(){ m.WaitOne()原创 2012-04-10 22:00:22 · 634 阅读 · 0 评论 -
线程同步之自旋锁(SpinLock)
自旋锁线程被阻塞时,不进行线程上下文切换,而是空转等待。对于多核CPU而言,减少了切换线程上下文的开销,从而提高了性能。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading; namespace Thread_SpinLock原创 2012-04-10 22:04:45 · 1029 阅读 · 0 评论 -
线程同步之Monitor
1、Monitor.Enter(obj);申请对obj(非静态字段)的独立访问权;2、对静态字段加锁时,使用Monitor.Enter(typeof(共享类名));示例:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;原创 2012-04-10 21:53:43 · 708 阅读 · 0 评论