“线程”相关日志
-
-
-
-
-
-
-
-
C#线程概述(10) -- 线程同步(2)11天前
- 作者:与世无争 标签:
线程
方法
模式
-
使用锁定是需要时间的,且并不总是必需的。可以创建类的两个版本,一个同步版本,一个异步版本。这里用修改类Demo来演示。类Demo本身并不是同步的,这可以在DoThis()和DoThat()方法中看出。该类还定义了IsSynchronized属性,客户...
-
-
C#线程概述(10) -- 线程同步(1)11天前
- 作者:与世无争 标签:
线程
语句
构造
关键字
锁定
-
18.6 同步
要避免同步问题,最好不要在线程之间共享数据。当然,这并不总是可行的。如果需要共享数据,就必须使用同步技术,确保一次只有一个线程访问和改变共享状态。注意,同步问题与竞态条件和死锁有关。如果不注意这些问题,就很难在应用程序中找到问题的原...
-
-
C#线程概述(9) -- 死锁12天前
- 作者:与世无争 标签:
线程
锁定
方法
调度
等待
-
18.5.2 死锁
过多的锁定也会有麻烦。在死锁中,至少有两个线程被挂起,等待对方解除锁定。由于两个线程都在等待对方,就出现了死锁,线程将无限等待下去。
为了演示死锁,下面实例化两个StateObject类型的对象,并传送给SampleThread类...
-
-
C#线程概述(3) -- 异步回调12天前
- 作者:与世无争 标签:
方法
参数
定义
线程
委托
-
18.2.3 异步回调
等待委托的结果的第三种方式是使用异步回调。在BeginInvoke()方法的第三个参数中,可以传送一个满足AsyncCallback委托的需求的方法。AsyncCallback委托定义了一个IAsyncResult类型的参数,其返回类型是void。这里,把方法TakesAW...