threads.pp 574 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. program testthreads;
  2. {$mode objfpc}
  3. uses
  4. sysutils,
  5. classes;
  6. type
  7. TMyThread=class(TThread)
  8. private
  9. ch : char;
  10. protected
  11. procedure Execute; override;
  12. public
  13. constructor Create(c:char);
  14. end;
  15. procedure TMyThread.Execute;
  16. begin
  17. repeat
  18. write(ch);
  19. until Terminated;
  20. end;
  21. constructor TMyThread.Create(c:char);
  22. begin
  23. ch:=c;
  24. inherited Create(false);
  25. end;
  26. var
  27. t1,t2 : TMyThread;
  28. begin
  29. t1:=TMyThread.Create('a');
  30. t2:=TMyThread.Create('b');
  31. readln;
  32. t2.Terminate;
  33. readln;
  34. t1.Terminate;
  35. readln;
  36. t2.Destroy;
  37. t1.Destroy;
  38. end.