设有T、R类声明如下,说明怎样使用这些实例创建、启动线程并执行有效操作? public class T extends Thread public class R implements Runnable
时间: 2024-10-07 14:06:09 浏览: 32
在Java中,你可以使用这两种方式之一来创建、启动线程并执行有效操作:
1. **使用Thread类**(T类继承自Thread类):
首先,你需要在T类中定义run()方法,这是线程需要执行的具体任务。然后,你可以按照以下步骤创建和启动线程:
```java
// 在T类中定义run()方法
public class T extends Thread {
@Override
public void run() {
// 实现具体的线程任务
// 示例:
System.out.println("Running in thread " + this.getName());
// ...
}
}
// 创建T类的实例,并启动线程
public class Main {
public static void main(String[] args) {
T thread = new T();
thread.setName("Thread T"); // 设置线程名称,可选
thread.start(); // 启动线程
}
}
```
2. **使用Runnable接口**(R类实现Runnable接口):
在这种模式下,你需要创建一个实现了Runnable接口的对象,并将其作为Thread构造函数的参数:
```java
public class R implements Runnable {
@Override
public void run() {
// 实现具体的线程任务
// 示例:
System.out.println("Running in thread " + Thread.currentThread().getName());
// ...
}
}
// 创建Runnable对象并传递给Thread构造函数
public class Main {
public static void main(String[] args) {
R runnableTask = new R();
Thread thread = new Thread(runnableTask);
thread.setName("Thread R"); // 设置线程名称,可选
thread.start(); // 启动线程
}
}
```
在以上两种情况下,线程都是异步执行的,不会阻塞主线程。`start()`方法会创建一个新的执行上下文,并调用run()方法(对于继承Thread的情况)或runnableTask.run()(对于实现Runnable的情况)。
阅读全文