作者:总是生活在记忆中_873 | 来源:互联网 | 2024-12-01 20:54
本文介绍了如何通过实现Runnable接口并利用静态代理模式来创建多线程程序。主要内容包括自定义类、代理类的设计以及它们如何共同实现Runnable接口。此外,还将探讨Callable接口作为另一种实现多线程的方法。
在Java编程中,实现多线程可以通过多种方式完成,其中包括实现Runnable接口和使用静态代理模式。下面将详细介绍这一过程。
1. 自定义类(被代理类)
2. 代理类
3. 两个类均实现Runnable接口
4. 代理类持有被代理类的实例
public class StaticProxyExample {
/**
* 1. 被代理的类需要实现Runnable接口
* 2. 代理类同样实现Runnable接口,并持有被代理类的实例
*/
public static void main(String[] args) {
MyTask task = new MyTask();
Thread proxyThread = new Thread(task);
proxyThread.start();
for (int i = 0; i <100; i++) {
System.out.println("Main thread: " + i);
}
}
}
class MyTask implements Runnable {
@Override
public void run() {
for (int i = 0; i <100; i++) {
System.out.println("Task thread: " + i);
}
}
}
除了使用Runnable接口外,Java还提供了Callable接口,它允许任务执行后返回一个结果,并且可以抛出异常。这对于需要从线程获取计算结果的场景非常有用。