Implementation of Java multithreading
•
Java
Inherit thread class
public class Thread implements Runnable
public class NewThreadName extends Thread
{ //NewThreadName 类继承自 Thread 类
public void run()
{
//线程的执行代码在这里
}
}
new NewThreadName().start(); //NewThreadName 为继承自 Thread 的子类
Example 1
public class MyThread extends Thread
{
@Override
public void run()
{
super.run();
System.out.println("这是线程类 MyThread");
}
}
public static void main(String[] args)
{
MyThread mythread=new MyThread(); //创建一个线程类
mythread.start(); //开启线程
System.out.println("运行结束!"); //在主线程中输出一个字符串
}
运行结束! 这是线程类 MyThread
Example 2
package ch14;
public class MyThread01 extends Thread
{
@Override
public void run()
{
try
{
for(int i=0;i<10;i++)
{
int time=(int)(Math.random()*1000);
Thread.sleep(time);
System.out.println("当前线程名称="+Thread.currentThread().getName());
}
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
package ch14;
public class Test02
{
public static void main(String[] args)
{
try
{
MyThread01 thread=new MyThread01();
thread.setName("myThread");
thread.start();
for (int i=0;i<10;i++)
{
int time=(int)(Math.random()*1000);
Thread.sleep(time);
System.out.println("主线程名称="+Thread.currentThread().getName());
}
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
当前线程名称=myThread 主线程名称=main 当前线程名称=myThread 当前线程名称=myThread 当前线程名称=myThread 主线程名称=main 当前线程名称=myThread 当前线程名称=myThread 主线程名称=main 当前线程名称=myThread 主线程名称=main 当前线程名称=myThread 当前线程名称=myThread 当前线程名称=myThread 主线程名称=main 主线程名称=main 主线程名称=main 主线程名称=main 主线程名称=main 主线程名称=main
Example 3
package ch14;
public class MyThread02 extends Thread
{
private int i;
public MyThread02(int i)
{
super();
this.i=i;
}
@Override
public void run()
{
System.out.println("当前数字:"+i);
}
}
package ch14;
public class Test03
{
public static void main(String[] args)
{
MyThread02 t11=new MyThread02(1);
MyThread02 t12=new MyThread02(2);
MyThread02 t13=new MyThread02(3);
MyThread02 t14=new MyThread02(4);
MyThread02 t15=new MyThread02(5);
MyThread02 t16=new MyThread02(6);
MyThread02 t17=new MyThread02(7);
MyThread02 t18=new MyThread02(8);
MyThread02 t19=new MyThread02(9);
MyThread02 t110=new MyThread02(10);
t11.start();
t12.start();
t13.start();
t14.start();
t15.start();
t16.start();
t17.start();
t18.start();
t19.start();
t110.start();
}
}
当前数字:1 当前数字:3 当前数字:5 当前数字:7 当前数字:6 当前数字:2 当前数字:4 当前数字:8 当前数字:10 当前数字:9
Implement runnable interface
public class thread extends Object implements Runnable
Example 4
package ch14;
public class MyRunnable implements Runnable
{
@Override
public void run()
{
System.out.println("MyRunnable运行中!");
}
}
package ch14;
public class Test04
{
public static void main(String[] args)
{
Runnable runnable=new MyRunnable();
Thread thread=new Thread(runnable);
thread.start();
System.out.println("主线程运行结束!");
}
}
主线程运行结束! MyRunnable运行中!
Comparison of two methods
1. Inherit the advantages and disadvantages of thread class
Thread.currenThread().sleep();
2. Advantages and disadvantages of implementing runnable interface
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
