Ticket #2116: main.AU3

File main.AU3, 1.3 KB (added by davegrave@…, on Jan 29, 2012 at 11:20:43 AM)

main.au3

Line 
1#include <Constants.au3>
2#include <array.au3>
3Global $thread[4]
4Global $line[4]
5
6$thread[1] = Run(@ScriptDir & "\stdout3.exe 1","",@SW_HIDE,$STDIN_CHILD + $STDOUT_CHILD)
7$thread[2] = Run(@ScriptDir & "\stdout3.exe 2","",@SW_HIDE,$STDIN_CHILD + $STDOUT_CHILD)
8$thread[3] = Run(@ScriptDir & "\stdout3.exe 3","",@SW_HIDE,$STDIN_CHILD + $STDOUT_CHILD)
9
10Sleep(500) ; needed to make sure all threads are ready
11
12For $i=1 to 3
13 $line[$i] = StdoutRead($thread[$i])
14 if StringInStr($line[$i],"thread started") Then
15 ConsoleWrite($line[$i])
16 StdinWrite($thread[$i],"start work")
17 Sleep(300)
18 EndIf
19Next
20
21
22;~ ConsoleWrite(@CRLF & "------------ WAITING SOME TIME ------------" & @CRLF & @CRLF)
23;~ Sleep(15000)
24
25$done=0
26do
27 for $i = 1 to 3
28 if $line[$i]=-1 then ContinueLoop
29 $line[$i] = StdoutRead($thread[$i])
30 if $line[$i] <> "" Then ConsoleWrite($line[$i])
31 if StringInStr($line[$i],"work done") Then
32 $done += 1
33 $line[$i]=-1
34 EndIf
35 Next
36Until $done=3
37
38For $i = 1 to 3
39 StdinWrite($thread[$i],"exit")
40 $line[$i]=""
41Next
42
43$done = 0
44do
45 For $i = 1 to 3
46 if $line[$i]=-1 then ContinueLoop
47 $line[$i] = StdoutRead($thread[$i])
48 if $line[$i] <> "" Then ConsoleWrite($line[$i])
49 if StringInStr($line[$i],"exited by master") Then
50 $done += 1
51 $line[$i]=-1
52 EndIf
53 Next
54Until $done =3