Ticket #2116: main.AU3

File main.AU3, 1.3 KB (added by davegrave@…, 12 years ago)

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