不同任务之间可以通过一个标志符来实现互斥事件。
程序代码:
Task2
begin while true wait(bTaskFlag) cls() gotoxy(1,1) put("这是Task2") gotoxy(1,2) if bTaskFlag put("BFlag:true ") else put("BFlag:false ") endIf delay(1) bTaskFlag=false endWhile end
Task1:
begin while true wait(!bTaskFlag) cls() gotoxy(1,1) put("这是Task1") gotoxy(1,2) if bTaskFlag put("BFlag:true ") else put("BFlag:false ") endIf delay(1) bTaskFlag=true endWhile end
主程序:
begin title("Task线程通讯:") taskCreate "Task1",10,Task1() taskCreate "Task2",10,Task2() while true delay(0) endWhile end
通过一个全局变量的布尔型就可以得到相互转化。