2019年10月27日

1.12 处理异常

摘要: 本代码介绍了在线程中如何正确处理异常。在线程中始终使用try catch代码块非常重要,因为不可能在线程代码之外来捕获异常。 代码解读: 定义两个抛异常的线程,一个没有try catch处理,另一个有处理。可以看到Main方法里异常没有被try cath捕获到。 所以如果使用线程,一般不要在线程中抛 阅读全文

posted @ 2019-10-27 17:29 anjun_xf 阅读(93) 评论(0) 推荐(0) 编辑

1.11 使用Monitor类锁定资源

摘要: 本代码演示了一个常见的多线程错误“死锁(deadlock)”。main方法中第一部分演示用Monitor避免死锁,第二部分用lock创建死锁,而死锁后程序会停止工作。 代码解读: LockTooMuch方法:先锁住第一个对象lock1,过1s后锁住第二个对象lock2。然后在另一个线程中启动该方法, 阅读全文

posted @ 2019-10-27 17:03 anjun_xf 阅读(105) 评论(0) 推荐(0) 编辑

1.10 使用C#中的lock关键字

摘要: 本代码描述如何确保当前一个线程使用某些资源时,同时其他线程无法使用该资源。 c using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplica 阅读全文

posted @ 2019-10-27 10:50 anjun_xf 阅读(302) 评论(0) 推荐(0) 编辑

1.9 向线程传递参数

摘要: 《C 多线程编程实战》1.9节笔记 演示如何提供一段代码来使用要求的数据运行另一个线程。代码介绍了4种方式来满足此任务。 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi 阅读全文

posted @ 2019-10-27 10:07 anjun_xf 阅读(133) 评论(0) 推荐(0) 编辑

导航

TOP