用Java实现多线程有哪些途径?

 我来答
百度网友a9d635974
2011-01-07 · TA获得超过201个赞
知道答主
回答量:77
采纳率:0%
帮助的人:65.1万
展开全部
1,创建Thread类的子类
在这个途径中,用户程序需要创建自己的Thread类的子类,并在子类中重新定义自己的run()方法,这个run()方法中包含了用户线程的操作。这样在用户程序需要建立自己的线程时,它只需要创建一个已定义好的Thread子类的实例就可以了。
例:
public class TestThread{
...(中间的就不写了)
}
class Test1 extends Thread{
public void run(){
...............
}
}
2.实现Runnable接口
在这个途径中,已经有了一个父类的用户类可以通过实现Runnable接口的方法来定义用户线程的操作。Runnable接口只有一个方法run(),实现这个借口,就必须要定义run()方法的具体内容,用户新建线程的操作也就由这个方法来决定。定义好run()方法之后,当用户程序需要建立新线程时,只要以这个实现了run()方法的类对象为参数创建系统类Thread的对象,就可以把用户实现的run()方法借用过来。
public class TestRunnable implements Runnable{
Lable prompt1 = new Label("1");
Lable prompt2 = new Label("2");
.......
Thread thread1,thread2;
.......
}
public void init(){
add(.....);
.......
.......
}
public void start(){
thread1 = new Thread(........);//(我就写一个。)创建1,2个线程对象,其他的不写了
thread1.start();
}
public void run(){........}
}

参考资料: JAVA语言与面向对象程序设计(第二版)

axkajvq
2011-01-10 · TA获得超过644个赞
知道小有建树答主
回答量:606
采纳率:0%
帮助的人:143万
展开全部
通常线程是在系统层被实现的。java是第一个在语言中实现的。java在语言级提供了对多线程设计的支持。线程:是进程中的一个单一的连续控制流程。一个进程可以拥有多个线程。多线程帮助你写出CPU最大利用率的高效程序。举例来说,网络的数据传送速率远远低于CPU处理能力,本地文件系统资源的读写速度也远远低于CPU的处理能力,在传统的单线程环境中,你的程序必须等待每一个这样的任务完成以后才能执行下一步--尽管CPU大部分时间处于空闲。而JAVA的多线程能使你充分利用这些空闲的时间。在一个单线程程序中如果出现阻塞则整个程序都可能停止运行,而在一个多线程的程序中这不会出现这样的问题。当一个线程阻塞时,别的线程会运行,这样可以大大的提高CPU效率。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秋雨寒草露
2011-01-07 · TA获得超过192个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:131万
展开全部
第一种是继承Thread类
第二种是实现Runnable接口
但是为了实现多态性,推荐第二种方式
具体实现方法 见楼上!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
usretyn
2011-01-06 · TA获得超过366个赞
知道小有建树答主
回答量:266
采纳率:100%
帮助的人:112万
展开全部
1.
public class AAA extends Thread{
public void run(){

}
}
2. public class BBB implements Runnable{
public void run(){}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
薄荷2048
2011-01-07
知道答主
回答量:25
采纳率:0%
帮助的人:5.4万
展开全部
83794229 <高技术软件交流>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式