all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
|
|
@ -0,0 +1,45 @@
|
|||
Enumeration
|
||||
#Write
|
||||
#Done
|
||||
EndEnumeration
|
||||
|
||||
Structure commblock
|
||||
txtline.s
|
||||
Order.i
|
||||
EndStructure
|
||||
|
||||
Global MessageSent=CreateSemaphore()
|
||||
Global LineWritten=CreateSemaphore()
|
||||
Global LinesWritten, com.commblock
|
||||
|
||||
Procedure Writer(arg)
|
||||
Repeat
|
||||
WaitSemaphore(MessageSent)
|
||||
If com\Order=#Write
|
||||
PrintN(com\txtline)
|
||||
LinesWritten+1
|
||||
EndIf
|
||||
SignalSemaphore(LineWritten)
|
||||
Until com\Order=#Done
|
||||
EndProcedure
|
||||
|
||||
Procedure Reader(arg)
|
||||
Protected File=ReadFile(#PB_Any,OpenFileRequester("","input.txt","",0))
|
||||
While file And Not Eof(file)
|
||||
com\txtline=ReadString(File)
|
||||
com\Order=#Write
|
||||
SignalSemaphore(MessageSent)
|
||||
WaitSemaphore(LineWritten)
|
||||
Wend
|
||||
com\Order=#Done
|
||||
SignalSemaphore(MessageSent)
|
||||
WaitSemaphore(LineWritten)
|
||||
PrintN(Str(LinesWritten)+" lines written.")
|
||||
EndProcedure
|
||||
|
||||
If OpenConsole()
|
||||
Define Thread1=CreateThread(@Reader(),0)
|
||||
Define Thread2=CreateThread(@Writer(),0)
|
||||
WaitThread(Thread1) And WaitThread(Thread2)
|
||||
Print("Press Enter to exit"):Input()
|
||||
EndIf
|
||||
Loading…
Add table
Add a link
Reference in a new issue