1 | #include <Constants.au3> |
---|
2 | #include <array.au3> |
---|
3 | Global $thread[4] |
---|
4 | Global $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 | |
---|
10 | Sleep(500) ; needed to make sure all threads are ready |
---|
11 | |
---|
12 | For $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 |
---|
19 | Next |
---|
20 | |
---|
21 | |
---|
22 | ;~ ConsoleWrite(@CRLF & "------------ WAITING SOME TIME ------------" & @CRLF & @CRLF) |
---|
23 | ;~ Sleep(15000) |
---|
24 | |
---|
25 | $done=0 |
---|
26 | do |
---|
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 |
---|
36 | Until $done=3 |
---|
37 | |
---|
38 | For $i = 1 to 3 |
---|
39 | StdinWrite($thread[$i],"exit") |
---|
40 | $line[$i]="" |
---|
41 | Next |
---|
42 | |
---|
43 | $done = 0 |
---|
44 | do |
---|
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 |
---|
54 | Until $done =3 |
---|