我想知道如何通过“扩展Thread类”来创建多个线程。我知道如何使用“Runnable”完成它。请告诉我如何通过“扩展Thread类”来完成它。
答案 0 :(得分:8)
主要方法
public class ThreadDemo
{
public static void main(String args[])
{
//Creating an object of the first thread
FirstThread firstThread = new FirstThread();
//Creating an object of the Second thread
SecondThread secondThread = new SecondThread();
//Starting the first thread
firstThread.start();
//Starting the second thread
secondThread.start();
}
}
通过扩展“Thread”类,该类成为一个线程。
public class FirstThread extends Thread
{
//This method will be executed when this thread is executed
public void run()
{
//Looping from 1 to 10 to display numbers from 1 to 10
for (int i=1; i<=10; i++)
{
//Displaying the numbers from this thread
System.out.println( "Messag from First Thread : " +i);
/*taking a delay of one second before displaying next number
*
* "Thread.sleep(1000);" - when this statement is executed,
* this thread will sleep for 1000 milliseconds (1 second)
* before executing the next statement.
*
* Since we are making this thread to sleep for one second,
* we need to handle "InterruptedException". Our thread
* may throw this exception if it is interrupted while it
* is sleeping.
*
*/
try
{
Thread.sleep(1000);
}
catch (InterruptedException interruptedException)
{
/*Interrupted exception will be thrown when a sleeping or waiting
* thread is interrupted.
*/
System.out.println( "First Thread is interrupted when it is sleeping" +interruptedException);
}
}
}
通过扩展“Thread”类,该类成为一个线程。
public class SecondThread extends Thread
{
//This method will be executed when this thread is executed
public void run()
{
//Looping from 1 to 10 to display numbers from 1 to 10
for (int i=1; i<=10; i++)
{
System.out.println( "Messag from Second Thread : " +i);
/*taking a delay of one second before displaying next number
* "Thread.sleep(1000);" - when this statement is executed,
* this thread will sleep for 1000 milliseconds (1 second)
* before executing the next statement.
*
* Since we are making this thread to sleep for one second,
* we need to handle "InterruptedException". Our thread
* may throw this exception if it is interrupted while it
* is sleeping.
*/
try
{
Thread.sleep (1000);
}
catch (InterruptedException interruptedException)
{
/*Interrupted exception will be thrown when a sleeping or waiting
*thread is interrupted.
*/
System.out.println( "Second Thread is interrupted when it is sleeping" +interruptedException);
}
}
}
}
请查看参考编号{Threading using Extend以获取完整的详细信息。如需快速阅读,我可以通过上述参考文献发布代码