2 回答
TA贡献1854条经验 获得超8个赞
创建线程并使用线程类启动它们的正确方法StockThread
是使用以下方法之一 - 示例:
可以使用两种不同的方式定义和启动线程:
实现
Runnable
接口扩展
Thread
类
1.实现Runnable:
Public class MyRunnable implements Runnable {
@Override
public void run() {
// code to execude in the thread
}
}
实例化并启动线程(其中两个):
MyRunnable runnable = new MyRunnable();
Thread myThread1 = new Thread(runnable);
myThread1.start();
Thread myThread2 = new Thread(runnable);
myThread2.start();
使用第一种方法的优点是仍然可以扩展可运行类。
2.扩展Thread类:
public class MyThread extends Thread {
@Override
public void run() {
// code to execude in the thread
}
}
实例化并启动线程:
MyThread myThread1 = new MyThread();
myThread1.start();
MyThread myThread2 = new MyThread();
myThread2.start();
请注意,任何线程只能启动一次。
指向 API java.lang.Thread和Runnable的链接。
TA贡献1818条经验 获得超7个赞
澄清一下:您的 StockThread 正在实现 Runnable 而不是扩展 Thread。
Runnable 没有启动方法。
您可以将 StockThread 重命名为 StockRunnable 并使用 run。
这将编译但可能不会产生预期的结果。
如果您希望发生多线程,则调用 run 方法将不起作用(因为它将在当前线程中运行可运行对象)。
您可以调用 new Thread(runnable).start() ,这将导致 runnable.run() 在不同的线程中发生。(runnable 应该是 StockRunnable 的一个实例)。
您可能希望保留您创建的线程实例,以便稍后测试其状态(例如,等待它完成运行)。
祝你好运!
添加回答
举报