三个线程如何实现交替打印ABC

时间:2024-10-19 08:10:27

1、使用临界区来控制三个线程的执行,创建一个全局数据,通过临界区对全局数据上锁,三个线程去抢占该数据的使用权,获得使用权的线程才能执行,执行完后释放使用权,这样可以实现三个线程的交替打印的目的

三个线程如何实现交替打印ABC

2、使用互斥对象来实现控制三个线程的交替执行,创建一个全局数据,通过互斥对象对全局数据上锁,三个线程去抢占该数据的使用权,获得使用权的线程才能执行,执行完后释放使用权,这样可以实现三个线程的交替打印的目的

三个线程如何实现交替打印ABC

3、使用信号量来实现控制三个线程的交替执行,创建一个全局数据,通过信号量对全局数据上锁,三个线程去抢占该数据的使用权,获得使用权的线程才能执行,执行完后释放使用权,这样可以实现三个线程的交替打印的目的

三个线程如何实现交替打印ABC

4、使用事件对象来实现控制三个线程的交替执行,创建一个全局数据,通过事件对象对全局数据上锁,三个线程去抢占该数据的使用权,获得使用权的线程才能执行,执行完后释放使用权,这样可以实现三个线程的交替打印的目的

三个线程如何实现交替打印ABC

5、下面我写一个简单的demo来演示交替打印

三个线程如何实现交替打印ABC
三个线程如何实现交替打印ABC

6、程序编译成功后,运行可以看到线程在交替的打印,不会出现只有一个线程在打印的情况

三个线程如何实现交替打印ABC
© 手抄报圈