Professional Documents
Culture Documents
" Garbage collection " -1اذلي ًـمل يف اخلوفِة مخوفري املساحة يف اذلاهرة.
-2الاحداث اميت حتدث ؿىل امـ GUIمس ئول ؾن جتمَـِا " ً " Threadـمل يف اخلوفِة.
متاما مثل امـ Process Lightالهَ ًيفذ هممة )Weight Process (LWP
ؿادة " ً" Threadعوق ؿوََ امس
ومكن ؿادة حكون خفِفة.
امـ ) JVM (multithreadedهفسِا جس خخدم " " Threadفِيي جشغل " " Threadاملس ئول ؾن "
" Garbage collectionو " " Threadاملس ئول ؾن حتدًر GUIو " " Threadمربانجمم اذلي ًـمل
حتت . JVM
.1املرحةل " : " Newيه املرحةل اميت ًمت فهيا اوشاء اكئن امـ .Thread
" :ثحدأ ُذٍ املرحةل تـد اس خدؿاء ادلاةل )( ,runو يه ثـين أن اكئن امـ Threadخاُز ًا مَيفذ الوامر "Runnable .2املرحةل
املوضوؿة فَِ.
" :ثحدأ ُذٍ املرحةل تـد اس خدؿاء ادلاةل )( ,startو يه ثـين أن اكئن امـ ً Threadحدأ تدٌفِذ الوامر "Running .3املرحةل
املوضوؿة فَِ.
أو )( , sleepو يه ثـين أن اكئن ُذٍ املرحةل تـد اس خدؿاء ادلاةل )(wait " :ثحدأ "Waiting .4املرحةل
امـ Threadمذوكف ملدة مـَية.
" :وجسمى اًض ًا , Terminatedو يه ثـين اًلاف اكئن امـ Threadلكَ ُا ؾن امـمل و مسحَ من "Dead .5املرحةل
ثحدأ ُذٍ املرحةل تـد اس خدؿاء ادلاةل )(interrupt اذلاهرة,
. اىل امشفرة اخلاضة الوشاء فئة مـَيةextends Thread ًمت اضافة الامرo
و تداخوِا الاوامر امىت حرًد ثيفِذُا ثشلك مزتامن ؾيد جشغَل اكئنvoid run ندلاةلOverride جية أوشاءo
Thread . امـ
.ٍ" من اماكئن اذلى مت اوشاؤstart" ىف ادلاةل امرئُسة ًمت اوشاء اكئن من امالكس و اس خدؿاء ادلاةلo
. ثشلك مذوازيvoid run خاُز الن و ًحدأ ثيفِذ الاوامر امىت تداخل ادلاةلThreads
public class MyThread extends Thread {
@Override
public void run(){ ُيا ثضؽ الوامر اميت حرًد ثيفِذُا ؾيد اس خدؿاء ادلاةل }}
امئ،1 " ًـمل لك مهنام تعحاؿة الركام Thread_Two " و " Thread_One " ُامThreads هلوم ابوشاء ازيني من
. مؽ ثبخري اثهَة واحدة يف ؾرض امرمق امخايل11
public class Thread_One extends Thread {
public void run(){
for (int i=1; i<=10; i++){
System.out.println( " Good day Message from First Thread: " +i);
try {
Thread.sleep(1000);
}
catch (InterruptedException intE)
{
System.out.println( "First Thread is interrupted when it is
sleeping " +intE);
} } } }
first.start();
second.start();
} }
try {
Thread.sleep(1000);
}
catch (InterruptedException intru)
{
System.out.println( "First Thread is interrupted when it
is sleeping" + intru);
}
} } }:
thread1.start();
thread2.start();
}}
CONSTRUCTORS
public Thread()
1
. مُس هل امس حمددThread ًًَشئ اكئن هوؿ
public Thread(String name)
2
.َ مؽ حتدًد امسThread ًًَشئ اكئن هوؿ
public Thread(Runnable target)
3
.Runnable َ من اكئن هوؿThread ًًَشئ اكئن هوؿ
public Thread(Runnable target, String name) 4
املشلكة اموحِدة اميت كد ثواهجيا ؾيد اوشاء امـ Threadمن خالل ورازة امالكس Threadيه أن امالكس ًطحح غري كادر ؿىل أن
ٍرث من الكس أخر ,لهَ ال ميكن نوالكس أن ًفـل extendsلنرث من الكس .حلل مشلكة ثـدد امورازة ,ميكن حـل امالكس
ًعحق االهرتفُس Runnableو تداخهل هلوم ابوشاء اكئن من امالكس Threadو ىرتط تَ.
" فلط. االهرتفُس Runnableميكل ادلاةل ")(public void run
امالكس اذلي ًعحق االهرتفُس Runnableجية أن ًفـل مِا ,Overrideو ًضؽ تداخوِا الوامر اميت ٍرًدُا أن ثدٌفذ ؾيد جشغَل
اكئن امـ .Threadمخيفِذ أوامر ادلاةل )( runثشلك مذوازي مؽ ابيق الوامر املوحودة يف امربانمج ,ؿوَم اس خدؿاء ادلاةل )( startمن
اكئن امـ Threadاملرثحط ابمالكس اذلي ًعحق االهرتفُس ,Runnableو اذلي ميكل ادلاةل )(.run
ثذهر :اس خدؿاء ادلاةل )( runثشلك مدارش ال جيـوِا ثـمل ثشلك مذوازي مؽ امربانمج.
أمه هلعة يف ثعحَق االهرتفُس Runnableيه أهَ جيـكل كادر ًا ؿىل تياء الكس ًـمل نـ Threadو تيفس اموكت ٍرث من الكس
أخر.
) و ًـمل ثشلك مذوازيGUI( " همم خد ًا و ثمت احلاخة امََ ؾيد تياء ثعحَق فَِ واهجة مس خخدمRunnable interface"
من الكس حمدد مثلextends ؿوَم أن ثفـلGUI َِ لهَ ؾيد تياء ثعحَق ف.مؽ ابيق الوامر املوحودة يف امربانمج
.Runnable مالهرتفُسimplements و ثفـل, JFrame امالكس