weizhiai12的专栏

KevinGao的地盘

C#多线程编程

一、基本概念 进程:当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。 线程:线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。 多线程:...

2014-03-09 21:23:39

阅读数 944

评论数 0

C#多线程JOIN方法初探

[说明:刚接触多线程时,弄不明白Join()的作用,查阅了三本书,都不明不白。后来经过自己的一番试验,终于弄清了Join()的本质。大家看看我这种写法是否易懂,是否真的写出了Join()的本质,多提宝贵意见。]   Thread类的Join()方法能够将两个交替执行的线程合并为顺序执行的线程...

2014-03-09 21:21:51

阅读数 1024

评论数 0

秒杀多线程第八篇 经典线程同步 信号量Semaphore

秒杀多线程第八篇 经典线程同步 信号量Semaphore 分类: Windows多线程Windows编程2012-05-03 09:306308人阅读评论(42)收藏举报 阅读本篇之前推荐阅读以下姊妹篇: 《秒杀多线程第四篇一个经典的多线程同步问题》 《秒杀多线程第五篇经典线程...

2012-06-19 08:52:13

阅读数 617

评论数 0

AutoResetEvent和ManualResetEvent

首先说说线程的终止状态和非终止状态。AutoResetEvent和ManualResetEvent的构造函数中,都有bool变量来指明线程的终止状态和非终止状态。true表示终止状态,false表示非终止状态。看代码片段1:   代码片段1:         AutoResetEvent _...

2012-04-13 12:42:58

阅读数 478

评论数 0

谈谈多线程的思维方式

前段时间仔细看过些关于多线程方面的资料,项目中用到线程的地方也不少,可是,当看了Jeffrey的一篇关于锁的文章后,发现自己虽然一直都在使用多线程,但是缺少了做多线程编程需要的思维!所以想从Jeffrey的Optex(锁)入手,来谈谈我从其中体会的东西。    在NET中,我们用的最多的锁机...

2011-12-31 15:10:47

阅读数 633

评论数 0

C#多线程之二:ManualResetEvent和AutoResetEvent

初次体验 ManualResetEvent和AutoResetEvent主要负责多线程编程中的线程同步;以下一段是引述网上和MSDN的解析: 在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将...

2011-12-28 14:49:18

阅读数 739

评论数 0

C# 多线程之一:信号量Semaphore

Semaphore的理解 通过使用一个计数器对共享资源进行访问控制,Semaphore构造器需要提供初始化的计数器(信号量)大小以及最大的计数器大小 访问共享资源时,程序首先申请一个向Semaphore申请一个许可证,Semaphore的许可证计数器相应的减一,当计数器为0时,其他申请该信号量...

2011-12-28 14:48:07

阅读数 628

评论数 0

C#中为多线程变量提供原子操作的类Interlocked

最近在工作中经常用到了多线程来处理问题,但是关于多线程共享变量的问题就需要解决了。还好.net为我们提供了InterLocked类,它可是微软专门为多个线程共享的变量提供原子操作的类。我们经常用到的方法之一是Interlocked.Increment()和Interlocked.Decrement...

2011-12-07 14:30:09

阅读数 3812

评论数 0

一个实例明白AutoResetEvent和 ManulResetEvent的用法

先看一段代码: public class WaitHandlerExample {                 public static AutoResetEvent waitHandler;                 public static ManualResetEve...

2011-11-29 16:32:51

阅读数 787

评论数 0

提示
确定要删除当前文章?
取消 删除