在一个程序中,独立运行的程序片段称为线程(Thread),多线程(Multithreading)是指从软件或者硬件上实现多个线程并发执行的技术。需要有硬件支持,计算机才能够具有多线程能力,同时执行多个线程,从而提升整体的处理性能。具有这种能力的系统包括对称多处理机、多核处理器、芯片级多处理器以及同时多线程处理器。对线程进行编程处理的过程称为多线程处理。
【目标任务】
掌握多线程的状态和线程调度等概念、多线程的创建和管理、线程同步互斥量、死锁以及解决方案、线程同步读写锁、线程同步条件变量概念和具体的使用方法。
【知识点】
● 多线程的状态和线程调度。
● 多线程的创建和管理。
● 线程同步互斥量的使用方法。
● 死锁以及解决方案。
● 线程同步读写锁的使用方法。
● 线程同步条件变量的使用方法。
【项目实践】
● 项目案例1:通过条件变量实现生产者消费者模型,生产者只负责 生产数据,而消费者只负责消费数据。
● 项目案例2:通过信号量实现生产者消费者模型。
● 项目案例3:文件管理器多文件复制任务同步。