码迷,mamicode.com
首页 > 编程语言 > 详细

java中实现多线程的两种基本方法

时间:2015-01-22 17:35:14      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

java中实现多线程有两种基本方法,一种是继承Thread, 另一种是实现Runnable接口。

但是因为java中子类只能继承一个父类,如果采用继承Thread类,就不能继承其他类,很受限制。

以下是采用继承Thread类的例子:

public class MyThreadTest{
public static void main(String[] args){
MyThread amythread1=new MyThread("my thread 1");
MyThread amythread2=new MyThread("my thread 2");

amythread1.start();//amythread1.run();
amythread2.start();//amythread2.run();
}
}
class MyThread extends Thread{
public MyThread(String name){
super();
this.name=name;
}
public void run(){
for(int i=0;i<20;i++)
System.out.println(name+":"+i);
}
private String name;
}

注意不能使用“amythread1.run(); ”,这样不能启用多线程,只是 普通函数。

 

比较普遍的做法是采用实现Runnable接口去实现多线程。

实现Runnable接口必须使用Thread类的实例才能创建

具体有两步:

1.把实现Runnable接口的类实例化

2.把第1步实例化的类的对象做为参数提供给新建Thread对象的构造函数。

public class ThreadRunnable implements Runnable
{
public void run()
{
System.out.println(Thread.currentThread().getName());
for(int i=0;i<100;i++)
System.out.println(Thread.currentThread().getName()+"i="+i);
}
public static void main(String[] args)
{
ThreadRunnable t1 = new ThreadRunnable();
ThreadRunnable t2 = new ThreadRunnable();
Thread thread1 = new Thread(t1, "MyThread1");
Thread thread2 = new Thread(t2);
thread2.setName("MyThread2");
thread1.start();//thread1.run();
thread2.start();//thread2.run();
}
}

java中实现多线程的两种基本方法

标签:

原文地址:http://www.cnblogs.com/wudymand/p/4242012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!