2. - 544 с.
. Воєводін В. В., Воєводін Вл. В. Паралельні обчислення. - СПб: БХВ-Петербург, 2002. - 608 с
7.Е.Таненбаум <# "justify"> Додаток
. Основна структура програми. p align="justify"> unit Unit1;
interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, StdCtrls, ComCtrls, XPMan, SYNCOBJS, Unit2, Unit3; = class (TForm): TPanel;: TButton; : TEdit;: TEdit;: TLabel;: TLabel;: TRichEdit;: TXPManifest;: TOpenDialog; Button2Click (Sender: TObject); Button1Click (Sender: TObject);
{Private declarations}: Thread1;: Thread2;;: TForm1;: TEvent;
{$ R *. dfm} TForm1.Button2Click (Sender: TObject); OpenDialog1.Execute then.Lines.LoadFromFile (OpenDialog1.FileName);;; TForm1.Button1Click (Sender: TObject);: = TEvent.Create (nil, false, true,'');: = Thread1.Create (False);: = Thread2.Create (False);;.
. Потік № 1: Unit2;, SYNCOBJS, windows; = class (TThread)
{Private declarations} Execute; override;; MaskUtils, Unit1, SysUtils; Thread1.Execute;. WaitFor (infinite); (1000);. RichEdit1.Lines.Add ('Welcome to Hell!! ! ');. Edit1.text: =' Done ';. SetEvent;;.
. Потік № 2: Unit3;, SYNCOBJS, windows; = class (TThread)
{Private declarations} Execute; override;; unit1, sysUtils; Thread2.Execute;. WaitFor (infinite); (1000);. RichEdit1.Lines.Add ('And goodbye!') ;. Edit2.text: = 'Done';. SetEvent;
end;.