黑马程序员技术交流社区
标题:
Java中Runnable和Thread的区别
[打印本页]
作者:
黄方
时间:
2012-3-6 22:23
标题:
Java中Runnable和Thread的区别
{:soso_e183:}
作者:
泮和顺
时间:
2012-3-6 22:46
简单的区别就是一个是接口 一个是类 呵呵
作者:
泮和顺
时间:
2012-3-6 22:50
创建新执行线程有两种方法。一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成:
--------------------------------------------------------------------------------
class PrimeThread extends Thread {
long minPrime;
PrimeThread(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
--------------------------------------------------------------------------------
然后,下列代码会创建并启动一个线程:
PrimeThread p = new PrimeThread(143);
p.start();
创建线程的另一种方法是声明实现 Runnable 接口的类。该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。采用这种风格的同一个例子如下所示:
--------------------------------------------------------------------------------
class PrimeRun implements Runnable {
long minPrime;
PrimeRun(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
--------------------------------------------------------------------------------
然后,下列代码会创建并启动一个线程:
PrimeRun p = new PrimeRun(143);
new Thread(p).start();
CTRL+C过来的 呵呵
作者:
刘基军
时间:
2012-3-6 23:24
/*
13. 线程创建方法一:子类
14. */
15. Thread thread1 = new Thread(){
16. @Override
17. public void run()
18. {
19. //code
20. System.out.println(Thread.currentThread().getName()+" run...");
21. }
22. };
23. thread1.start();
24.
25. /*
26. 线程创建方法二:Runnable(更能体现面对对象思想)
27. */
28. Thread thread2 = new Thread(new Runnable(){
29. @Override
30. public void run()
31. {
32. //code
33. System.out.println(Thread.currentThread().getName()+" run...");
34. }
35. });
36. thread2.start();
作者:
张洪力
时间:
2012-3-6 23:37
在程序开发中只要是多线程,肯定永远以实现Runnable接口为主,因为实现Runnable接口相比
继承Thread类更适合于资源的共享。Thread类也是Runnable接口的子类。
作者:
尹震
时间:
2012-3-7 12:40
Thread是类,被继承,Runnable是接口,被实现,其实目的是一样的,都是要重写run()方法,实际上,run()方法是Runnable独有的,但Thread类本身已经封装了Runnable接口,所以继承Thread类时,也可以调用run()方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2