多執行緒程式設計 3順序列印

2021-10-03 19:22:40 字數 478 閱讀 6307

主要功能:printa()、printl()、printi()

定義三個訊號量依次給三個程序上鎖,並且通過其他程序來給自己解鎖

#include

#include

#include

#include

"semaphore.h"

using

namespace std;

//三個訊號量相當於三個鎖,可以等價替換

semaphore sem1(1

),sem2(0

),sem3(0

);//mutex mtx1,mtx2,mtx3;

void

printa()

}void

printl()

}void

printi()

}int

main()

semaphore.h可以看我前面的部落格

多執行緒按順序列印

於leetcode1114 我們提供了乙個類 public class foo public void second public void third 三個不同的執行緒將會共用乙個 foo 例項。請設計修改程式,以確保 second 方法在 first 方法之後被執行,third 方法在 seco...

學習 多執行緒順序列印ABC

深夜睡不著,更新一波,突然想起了兩個月之前的一次面試的懊悔。為什麼懊悔呢,因為面試官出的題很簡單很簡單,但是我想太多了,導致出糗了。題目,有三個執行緒,按順序列印123。public class test1 extends thread thread b newthread new runnable...

多執行緒之abc順序列印10次

package com.ghgj.cn.thread public class threadabc catch interruptedexception e system.out.println a thread1 false 保證本執行緒不死 thread2 true 喚醒2執行緒 thread3...