07 2018 档案
摘要:这个同步线程的类大概是东北的。 很有意思。 会限定你的线程使用的次数,更形象一点的像是你妈,提前准备好你要使用的线程的次数,用不完还不高兴那种的。 使用顺序基本就是 实例化 填充线程的启动次数 使用Signal() 来递减启动次数 Wait() 会阻止当前线程,这个是当所有的实例化时所填充的启动次数
阅读全文
摘要:这个比较好理解的。 正如书上所言,如同一直在打开的大门的屋子,谁要进去,谁就自己的关门,出来的时候在开开。 常用的方法 有三个: Set() //设置为有信号,也就是让等待的线程不用继续等待,唤醒等待的线程。 Reset() //设置为 无信号 也就是让没有等待的线程变成需要等待的状态,需要配合Wa
阅读全文
摘要:这个有点像是缩小版的mutex 还是很好理解的 相对mutex 使用的范围可能比较小一点。 一般来说就是 在实例化的时候,要设置为false 如果为true 那waiteone就不会有效果。 其次 waiteone就是要堵塞,等待。 set就是发出解锁信号,让AutoResetEvent不再等待。
阅读全文
摘要:这个简单多了。 理解也是很好理解。 比上一个mutex好理解多了。 这个SemaphoreSlim是干什么呢? 就是限制线程的来访问。 好比说一次只有两个,一次只有三个 这样的线程来访问资源。 有点像是加量不加价的lock方法。 先上代码 这个是真好方便的。 使用方式也是特别的简便。 一 实例化 二
阅读全文
摘要:这个真的是大坑。 如果深入研究,像是同步域,上下文这类都会出现。 但是书上有没有讲。 完全不知道什么意思。 勉勉强强讲这个Mutex的用法搞明白了。 这个是原书代码: 同时运行两个程序时,会建立一个互斥锁。第一个程序拥有所有权。第二个等待5秒,如果未能拥有程序的所有权,则显示Second insta
阅读全文
摘要:这章的内容是真的有意思 特别是代码。 先贴上代码: 说实话,这章代码,我一开始没看明白。真的。 有些时候真的就是难者不会会者不难。 咱慢慢来来说。 咱先从这一部分开始: 这一部分的代码很好理解: 传入两个引用类型的object参数。 然后是代码主要部分先是 锁死lock1 然后再lock1里面锁死l
阅读全文
摘要:lock关键字是锁定资源用的。 书上的代码解释很好。 上面这一部分是,未使用lock关键字的代码。 结果也如同书上说count是未定。多次启动程序 结果也是不一样的。正确的结果应该是0,加一次见一次正好分别是5K次。 仔细观察代码,得到这样子的结果也是肯定的。 首先: 这个部分,是三个实例的Thre
阅读全文