السلام عليكم..
عندما نريد ان نعمل Create a thread عندنا طريقتين ....اللي هيه:1-extends Thread
2-implement Runable
لو سمحتوا أريد أن تبينوا ما الفرق بين هاتين الطريقتين وأفضل أن يكون هناك مثال توضيحي يوضح الفرق بينهم.
وشكراً لجهودكم,,,, :cool:
السلام عليكم..
عندما نريد ان نعمل Create a thread عندنا طريقتين ....اللي هيه:1-extends Thread
2-implement Runable
لو سمحتوا أريد أن تبينوا ما الفرق بين هاتين الطريقتين وأفضل أن يكون هناك مثال توضيحي يوضح الفرق بينهم.
وشكراً لجهودكم,,,, :cool:
يمكنك النظر لهذا الموضوع وان شاء الله هفيديك بكل ما تريديه وبالامثله
وشرح الدوال الخاصه للـThread
بالتوفيق
شكرا لك الشرح جدا رائع ولكن هناك نقطة ياليت توضحوها لي :
أنا الحين لما أسوي run لبرنامج multithread بيختلف الترتيب في output في كل مرة زي مثلاً في هذا البرنامج:
import java.lang.*;
class MultipleThread {
public static void main(String[]args){
A thra=new A();
B Obj=new B();
System.out.println("End of main Thread");
}
}
class A extends Thread{
A()
{
super();
start();
}
public void run(){
for(int i=0;i<=5;i++)
{
System.out.println("A= "+i);
}
System.out.println("Exit from A");
}
}
class B implements Runnable{
Thread t;
B(){
t=new Thread(this,"B");
t.start();
}
public void run(){
for(int i=0;i<=5;i++){
System.out.println("B= "+i);}
System.out.println("End from B");
}
}
بيطلع عندي الأوت بوت كل run بترتيب مختلف وكمان أبغى أعرف في multithread كيف يتم الإنتقال للthread الثاني وتنفيذه قبل الأنتهاء من thread الأول؟؟!!
يتم الاختلاف فى الطباعه بسبب عدم الـ synchronization
اى التوافق الزمنى بين الـtwo threads