迎难而上
先看一下java线程运行时各个阶段的运行状态 java实现多线程有两种方法
1、继承Thread类
2、实现Runnable接口
这两种方法的共同点:
不论用哪种方法,都必须用Thread(如果是Thead子类就用它本身)产生线程,然后再调用start()方法。
两种方法的不同点:
1、继承Thread类有一个缺点就是单继承,而实现Runnable接口则弥补了它的缺点,可以实现多继承
2、继承Thread类必须如果产生Runnable实例对象,就必须产生多个Runnable实例对象,然后再用Thread产生多个线程;而实现Runnable接口,只需要建立一个实现这个类的实例,然后用这一个实例对象产生多个线程。即实现了资源的共享性 基于以上两点所以建议用第二种方法
下面用例子来做说明
程序1:
程序的运行结果是:
这是继承了Thread类,第一种方法产生多个Runnable实例对象,然后用Thread产生多个线程
第二种方法,因为这个类已经继承了Thread类,所以就可以直接利用它本身产生多个线程
程序2:
程序运行结果:
这个程序是实现Runnable了,产生一类的实例对象,然后用Thread产生多个线程。
posted on 2010-11-07 18:11 冯魁 阅读(7728) 评论(0) 编辑 收藏
Powered by: BlogJava Copyright © 冯魁