主要功能: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...