C#程序设计 第8章多线程
C# 程序设计 第8章 多线程
多线程同步 ★ Lock Monitor Mutex 同步事件 线程池 2
2 多线程同步 ★ Lock Monitor Mutex 同步事件 线程池
本章目标 ■ 了解线程的基本操作及概念 ■掌握如何创建线程 ■掌握如何暂停和恢复线程的执行 ■掌握如何休眠线程 ■掌握如何终止线程的执行 ■掌握线程同步处理 3
3 本章目标 ▪ 了解线程的基本操作及概念 ▪ 掌握如何创建线程 ▪ 掌握如何暂停和恢复线程的执行 ▪ 掌握如何休眠线程 ▪ 掌握如何终止线程的执行 ▪ 掌握线程同步处理
一、线程安全 ■ 线程安全:指在多个线程并发使用某个对象时, 该对象成员总是保持有效状态。常常表现为竞 争资源和死锁现象。 >竞争资源:两个或多个线程同时访问同一数据 或资源时会导致不符合要求或无法预期的结果 。 >死锁:多个线程彼此等待对方释放其所占用的 资源,最终导致线程的阻塞。 4
4 一、线程安全 ▪ 线程安全:指在多个线程并发使用某个对象时, 该对象成员总是保持有效状态。常常表现为竞 争资源和死锁现象。 ➢竞争资源:两个或多个线程同时访问同一数据 或资源时会导致不符合要求或无法预期的结果 。 ➢死锁:多个线程彼此等待对方释放其所占用的 资源,最终导致线程的阻塞
线程同步 ■ 当多个线程可以调用单个对象的属性和方法时, 一个线程可能会中断另一个线程正在执行的任务, 使该对象处于一种无效状态。因此必须针对这些 调用进行同步处理 ■使用Iock语句同步代码块 ■使用监视器同步代码块
5 线程同步 ▪ 当多个线程可以调用单个对象的属性和方法时, 一个线程可能会中断另一个线程正在执行的任务, 使该对象处于一种无效状态。因此必须针对这些 调用进行同步处理 ◼ 使用lock语句同步代码块 ◼ 使用监视器同步代码块