📄 consolewakedemo.dpr
字号:
program ConsoleWakeDemo;
{$APPTYPE CONSOLE}
uses
ConsoleTimerWake in 'ConsoleTimerWake.pas',
Classes,
Windows;
var
ThreadArr : array of record
Handle, ID : Cardinal;
end;
Str : String;
i : Integer;
iMax : Integer = 1000;
step : Integer = 1;
type
TSyncObj = class
private
InfoString : String;
public
procedure SyncOutputProc;
end;
procedure TSyncObj.SyncOutputProc;
begin
Writeln(InfoString);
end;
function OutThreadFunc(Parameter: TSyncObj): Integer; stdcall;
begin
while true do
begin
Parameter.InfoString := 'need your input: ';
TThread.Synchronize(nil, Parameter.SyncOutputProc);
sleep(step);
end;
end;
begin
SetLength(ThreadArr, iMax);
for i:=0 to iMax-1 do
ThreadArr[i].Handle := CreateThread(nil, 0, @OutThreadFunc, TSyncObj.Create, 0, ThreadArr[i].ID);
repeat
readln(Str);
// do any...
until Str <> '';
for i:=0 to iMax-1 do
CloseHandle(ThreadArr[i].Handle);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -