home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / fastmutx.zip / tests / TestSem.pas < prev    next >
Pascal/Delphi Source File  |  1996-07-11  |  716b  |  37 lines

  1. uses use32, os2base, os2SysLib, Crt;
  2.  
  3. const
  4.     MustDie : boolean = FALSE;
  5.  
  6. var testSem : tMutexSem;
  7.  
  8. function myThread(Parm : Pointer) : longint;
  9. var i : Integer;
  10. begin
  11.  repeat
  12.   fmsRequest(testSem);
  13.   textAttr := byte(Parm);
  14.   For I := 0 to 9 do
  15.    begin
  16.     Write(I);
  17.     DosSleep(0);                      {Give other threads more chances to run}
  18.    end;
  19.   fmsRelease(testSem);
  20.  until MustDie;
  21.  EndThread(0);
  22. end;
  23.  
  24. var a   : longint;
  25.     pid : array[0..15] of Longint;
  26.  
  27. begin
  28.  fmsInit(testSem);
  29.  for a := 1 to 15 do
  30.   BeginThread(nil, 8192, myThread, pointer(a), create_Ready, pid[a]);
  31.  ReadKey;
  32.  mustDie := TRUE;
  33.  for a := 1 to 15 do
  34.   DosWaitThread(pid[a], dcww_Wait);
  35. end.
  36.  
  37.