İşlənə bilən və İplik Arasındakı Fərq

Mündəricat:

İşlənə bilən və İplik Arasındakı Fərq
İşlənə bilən və İplik Arasındakı Fərq

Video: İşlənə bilən və İplik Arasındakı Fərq

Video: İşlənə bilən və İplik Arasındakı Fərq
Video: Making embroidery design of T-shirt logo of Brasilia FIFA football team in @Wilcom_Int with subtitles 2024, Noyabr
Anonim

Əsas Fərq – İşlənə bilən və Mövzu

İcrada olan proqram proses kimi tanınır. Proses bir neçə alt prosesə bölünə bilər. Məsələn, Microsoft Word bir prosesdir. Eyni zamanda orfoqrafik səhvləri və qrammatikanı yoxlayır. Bu bir alt prosesdir. Bu alt proseslər mövzular kimi tanınır. Multithreading eyni vaxtda bir neçə ipin icrası prosesidir. Yivli proqramlar müxtəlif proqramlaşdırma dillərindən istifadə etməklə qurula bilər. Runnable və Thread Java proqramlaşdırması ilə əlaqələndirilir. Java-da Runnable interfeysini tətbiq etməklə və ya Thread sinfini genişləndirməklə mövzu yaratmaq üçün iki üsul var. Runnable proqramını həyata keçirərkən, bir çox mövzu eyni mövzu obyektini paylaşa bilər, halbuki Extending Thread sinfində, hər bir mövzu onunla əlaqəli unikal obyektə malikdir. Runnable və Thread arasındakı əsas fərq budur.

Runnable nədir?

Mövzu bəzi dövlətlərdən keçir. "Yeni" iplik həyat dövrünün başlanğıcıdır. start() metodu yeni mövzuya zəng etdikdən sonra o, işlək olur. Mövzu planlaşdırıcı ipi seçərsə, o, işləyən vəziyyətə keçir. Mövzu bir tapşırığı yerinə yetirmək üçün başqa bir başlığı gözləyirsə, mövzu vəziyyəti gözləyir. Başlıq işi tamamladıqdan sonra son vəziyyətinə keçir.

İplik Runnable interfeysindən istifadə etməklə həyata keçirilə bilər. Aşağıdakı proqrama baxın.

Runnable və Thread arasındakı fərq
Runnable və Thread arasındakı fərq

Şəkil 01: İşlənə bilən interfeysdən istifadə edərək mövzu yaratmaq üçün Java proqramı

Yuxarıdakı proqrama əsasən, Runnable Demo sinfi Runnable interfeysini həyata keçirir. run() metodu Runnable interfeysini tətbiq edən sinif daxilindədir. Bu iplik üçün giriş nöqtəsidir. Məntiq run() metodundadır. Əsas proqramda Runnable Demo sinfindən yaradılmış obyekti təyin etməklə mövzu yaradılır. t1-dir. start() metodu t1 istifadə edərək çağırılır.

Aşağıdakı proqrama baxın.

İşlənə bilən və Thread_Şəkil 02 arasındakı fərq
İşlənə bilən və Thread_Şəkil 02 arasındakı fərq

Şəkil 02: Runnable interfeysini həyata keçirərək dövrəni yerinə yetirmək üçün ip yaratmaq üçün Java proqramı

Yuxarıdakı nümunəyə əsasən, Runnable Demo sinfi Runnable interfeysini həyata keçirir. Mövzudan istifadə edərək icra etmək üçün məntiq run() metodunda yazılır. Əsas proqramda Runnable Demo sinfindən yaradılmış obyekti təyin etməklə mövzu yaradılır.t1-dir. Sonra t1 istifadə edərək start() metodu çağırılır.

Mövzu nədir?

Mövzu yaratmağın digər üsulu Thread sinfini genişləndirməkdir. Üç addımdan ibarətdir. Birincisi, sinfi Thread sinfini genişləndirən kimi elan etməkdir. Daha sonra run() metodu yazılmalıdır. Bu ipin yerinə yetirməli olduğu addımların ardıcıllığına malikdir. Nəhayət, mövzu obyekti yaradılır və ipin icrasına başlamaq üçün start() metodu çağırılır. Aşağıdakı proqrama baxın.

İşlənə bilən və Thread_Şəkil 03 arasındakı fərq
İşlənə bilən və Thread_Şəkil 03 arasındakı fərq

Şəkil 03: Thread sinifini genişləndirən Java proqramı

Yuxarıdakı proqrama əsasən MyThread sinfi Thread sinfini genişləndirir. Bu, qaçış metodunu ləğv edir. run() metodu iplə icra ediləcək məntiqi ehtiva edir. Bu ipə giriş nöqtəsidir. Sonra iplik obyekti yaradılır. Bu iplik 1. Mövzu start() metodundan istifadə edərək başlayır. O, run() metoduna çağırış yerinə yetirəcək.

Thread sinfini genişləndirən iki sinfin nümunə proqramı aşağıdakı kimidir.

Runnable və Thread arasındakı əsas fərq
Runnable və Thread arasındakı əsas fərq

Şəkil 04: Thread sinifini genişləndirən iki sinifli Java proqramı

Yuxarıdakı proqrama əsasən, həm A, həm də B sinifləri Thread sinifini genişləndirir. Hər iki sinifdə run() metodunun tətbiqi var. Əsas mövzu main() metodunu icra edəndir. Əsas mövzu ölməzdən əvvəl, thread1 və thread2 yaradır və başlayır. Əsas ip əsas metodun sonuna çatdıqda, üç ip paralel olaraq işləyir. Mövzuların çıxış verdiyi xüsusi bir sıra yoxdur. Mövzu işə salındıqdan sonra onların yerinə yetirəcəkləri sıraya qərar vermək çətindir. Onlar müstəqil işləyirlər.

Runnable və Thread arasında hansı oxşarlıqlar var?

Hər ikisi Java-da mövzu yaratmaq üçün istifadə edir

Runnable və Thread Arasındakı Fərq Nədir?

Runnable vs Thread

Runnable Java-da bir çox başlığın eyni mövzu obyektini paylaşmasına imkan verən ip yaratmaq üçün interfeysdir. Mövzu Java-da hər bir mövzu ilə əlaqəli unikal obyektin olduğu mövzu yaratmaq üçün sinifdir.
Yaddaş
Runnable-da çoxlu mövzu eyni obyekti paylaşır, ona görə də daha az yaddaş tələb olunur. Thread sinfində hər ip unikal obyekt yaradır, buna görə də daha çox yaddaş tələb olunur.
Genişləndirmək bacarığı
Runnable interfeysini tətbiq etdikdən sonra o, sinfi genişləndirə bilər. Birdən çox miras Java-da dəstəklənmir. Thread sinfini genişləndirdikdən sonra o, başqa heç bir sinfi genişləndirə bilməz.
Kodun saxlanılması
İşlənə bilən interfeys kodu daha davamlı edir. Thread sinfində baxım çox vaxt aparır.

Xülasə – İşlənə bilən və Mövzu

Proses eyni vaxtda birdən çox tapşırığı yerinə yetirmək üçün bir neçə alt prosesə bölünür. Bu alt proseslər mövzular kimi tanınır. Mövzunun instantiasiyası Runnable interfeysini tətbiq etməklə və ya Thread Sinifini genişləndirməklə edilə bilər. Thread sinfini genişləndirmək asandır, lakin bu, daha yaxşı Obyekt yönümlü Proqramlaşdırma təcrübəsi deyil. Runnable proqramını həyata keçirərkən, Thread sinfini genişləndirərkən hər bir ipin onunla əlaqəli unikal obyekti olduğu halda, bir çox mövzu eyni mövzu obyektini paylaşa bilər. Runnable və Thread arasındakı fərq budur. Thread sinfində çoxlu obyekt yaradılması daha çox yaddaş sərf edə bilər.

Runnable vs Thread PDF faylını endirin

Bu məqalənin PDF versiyasını yükləyə və sitat qeydinə əsasən onu oflayn məqsədlər üçün istifadə edə bilərsiniz. Lütfən, PDF versiyasını buradan yükləyin Runnable və Thread Arasındakı Fərq

Tövsiyə: