您的位置:首页 > 编程语言 > Java开发

Java多线程

2016-05-28 09:28 495 查看
         Java线程是Thread类的对象,可以使用两种方式来创建多线程的Java应用程序,如下所示:

(1)实现Runnable接口

(2)继承Thread类

         两种方式,都要在线程类的内部实现run()方法,然后new一个Thread,最后.start()。

1、Runnable接口的实现

package runnable;

public class RunnableTest {
private int length;

public RunnableTest(int length) {
this.length = length;
}

public long sum() {

long ret = 0;
for(int i=0;i<length; i++)
ret = ret+i;
return ret;
}

}
package runnable;

public class RunnableExtend extends RunnableTest implements Runnable {

public RunnableExtend(int length) {
super(length);
}

@Override
public void run() {
long sum = sum();
System.out.println(Thread.currentThread() + " sum =" + sum);
}

}


package runnable;

public class Main {
public static void main(String[] args) {
System.out.println("Thread is " + Thread.currentThread());

RunnableExtend mRunnableTestThread1 = new RunnableExtend(80);
Thread th1 = new Thread(mRunnableTestThread1, "th1");
th1.start();

RunnableExtend mRunnableTestThread2 = new RunnableExtend(140);
Thread th2 = new Thread(mRunnableTestThread2, "th2");
th2.start();
}
}


2、Thread类
package thread;

public class ThreadTest extends Thread {
private int length;

public ThreadTest(int length) {
this.length = length;
}

public long sum() {

long ret = 0;
for(int i=0;i<length; i++)
ret = ret+i;
return ret;
}

public void run() {
long sum = sum();
System.out.println(Thread.currentThread() + " sum =" + sum);
}
}

package thread;

public class Main {
public static void main(String[] args) {
System.out.println("Thread is " + Thread.currentThread());
//直接继承,创建线程
ThreadTest mThreadTest1 = new ThreadTest(80);
Thread th1 = new Thread(mThreadTest1, "th1");
th1.start();

//使用匿名类创建
new Thread("th2"){
int length = 190;
public void run(){
int ret = 0;
for(int i=0;i<length; i++)
ret = ret+i;
System.out.println(Thread.currentThread() + " sum =" + ret);
}
}.start();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: