Sunday, 1 March 2009

Mendefinisikan Objek Thread

Anda dapat menggunakan objek thread untuk mewakili eksekusi thread di dalam aplikasi Anda. Objek-objek thread menyederhanakan penulisan multi-threaded applications dengan mengenkapsulasi penggunaan thread yang paling dibutuhkan.


Objek-objek thread tidak mengizinkan Anda mengendalikan atribut-atribut security atau ukuran stack thread Anda. Jika Anda perlu mengendalikan atribut security atau ukuran stack thread, maka Anda harus menggunakan fungsi BeginThread.


Untuk menggunakan objek thread di dalam aplikasi, Anda harus membuat turunan TThread baru. Untuk membuat turunan TThread, pilih File | New | Other.. dari menu utama. Dalam kotak dialog New Items, pilih Thread Object pada tab New, kemudian klik tombol OK. Dalam kotak dialog New Thread Object, masukkan nama class pada field Class Name kemudian klik tombol OK. Setelah Anda memberi nama, Delphi membuat file unit baru untuk mengimplementasikan thread.


Tidak seperti sebagian besar kotak dialog dalam IDE yang membutuhkan nama class. Kotak dialog New Thread Object tidak secara otomatis mencantumkan huruf T di depan nama class yang Anda sediakan.


File unit yang dihasilkan secara otomatis berisi kerangka kode untuk objek thread. Jika Anda memberi nama thread Anda yaitu TMyThread, maka thread akan terlihat seperti berikut ini :


unit Unit2;


interface


uses

Classes;


type

TMyThread = class(TThread)


private

{ Private declarations }


protected

procedure Execute; override;

end;


implementation

{ Important: Methods and properties of objects in visual components can only be

used in a method called using Synchronize, for example,

Synchronize(UpdateCaption);

and UpdateCaption could look like,

procedure TMyThread.UpdateCaption;

begin

Form1.Caption := 'Updated in a thread';

end; }

{ TMyThread }


procedure TMyThread.Execute;

begin

{ Place thread code here }

end;


end.


Anda harus mengisi kode dalam metode Execute.

Bagaimana menginisialisasikan thread?

Jika Anda ingin menulis kode inisialisasi untuk class thread baru Anda, maka Anda harus meng-override metode Create. Tambahkan constructor baru pada deklarasi class thread Anda dan tulis kode inisialisasi sebagai impelementasinya. Inilah tempat dimana Anda dapat menugaskan prioritas default untuk thread Anda dan mengindikasikan apakah thread akan dibebaskan secara otomatis ketika thread selesai dieksekusi.

No comments:

Post a Comment

Silahkan tinggalkan pesan