用Java实现多线程有哪些途径?
发布网友
发布时间:2022-05-25 16:14
我来回答
共5个回答
热心网友
时间:2023-11-17 15:12
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语言与面向对象程序设计(第二版)
热心网友
时间:2023-11-17 15:12
通常线程是在系统层被实现的。java是第一个在语言中实现的。java在语言级提供了对多线程设计的支持。线程:是进程中的一个单一的连续控制流程。一个进程可以拥有多个线程。多线程帮助你写出CPU最大利用率的高效程序。举例来说,网络的数据传送速率远远低于CPU处理能力,本地文件系统资源的读写速度也远远低于CPU的处理能力,在传统的单线程环境中,你的程序必须等待每一个这样的任务完成以后才能执行下一步--尽管CPU大部分时间处于空闲。而JAVA的多线程能使你充分利用这些空闲的时间。在一个单线程程序中如果出现阻塞则整个程序都可能停止运行,而在一个多线程的程序中这不会出现这样的问题。当一个线程阻塞时,别的线程会运行,这样可以大大的提高CPU效率。
热心网友
时间:2023-11-17 15:13
第一种是继承Thread类
第二种是实现Runnable接口
但是为了实现多态性,推荐第二种方式
具体实现方法 见楼上!
热心网友
时间:2023-11-17 15:13
1.
public class AAA extends Thread{
public void run(){
}
}
2. public class BBB implements Runnable{
public void run(){}
}
热心网友
时间:2023-11-17 15:14
83794229 <高技术软件交流>