通过实现Runnable 接口创建多线程
时间: 2024-05-02 19:16:31 浏览: 103
是的,通过实现 `java.lang.Runnable` 接口创建多线程是一种常见的方式。具体步骤如下:
1. 创建一个实现 `Runnable` 接口的类,并重写 `run()` 方法,该方法中包含多线程执行的代码。
2. 创建一个 `Thread` 对象,并将上述 `Runnable` 实现类的实例作为构造函数的参数传入。
3. 调用 `Thread` 对象的 `start()` 方法启动线程。
示例代码如下:
```java
public class MyRunnable implements Runnable {
public void run() {
// 多线程执行的代码
}
}
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable());
thread.start();
}
}
```
这段代码会创建一个新的线程,并在该线程中执行 `MyRunnable` 类中的 `run()` 方法。注意,一个 `Runnable` 实例可以被多个线程共享,因此可以通过传递同一个 `Runnable` 实例给多个 `Thread` 对象来创建多个线程。
相关问题
多线程设计。通过实现Runnable接口创建多线程。利用同步代码块完成多线程同步
,您对此有何看法?
对于多线程设计,使用实现Runnable接口的方式创建多线程可以更好地实现线程的分离,避免资源的争用。同时,通过同步代码块的方式,可以实现多个线程之间的同步,避免数据的不一致性和线程间的竞争。在实际的开发中,需要注意多线程同步时的锁定对象和锁定范围,以及控制线程的执行顺序等问题。
通过实现Runnable接口创建多线程 通过实现Runnable接口的方式创建一个新线程,要求main线程打印100次“main”,新线程打印50次“new”。
可以按照以下代码实现:
```java
class NewThread implements Runnable {
@Override
public void run() {
for (int i = 0; i < 50; i++) {
System.out.println("new");
}
}
}
public class MainThread {
public static void main(String[] args) {
NewThread nt = new NewThread();
Thread t = new Thread(nt);
t.start();
for (int i = 0; i < 100; i++) {
System.out.println("main");
}
}
}
```
在这段代码中,我们先定义了一个 `NewThread` 类,它实现了 `Runnable` 接口,并重写了 `run()` 方法。在 `run()` 方法中,我们让新线程打印 50 次 "new"。
然后,在 `MainThread` 类中,我们创建一个 `NewThread` 对象 `nt`,并将它传递给 `Thread` 构造函数。然后我们调用 `t.start()` 启动新线程。同时,在 `MainThread` 主线程中,我们让它打印 100 次 "main"。
通过这样的方式,我们就实现了一个在主线程和新线程中分别打印不同字符串的多线程程序。
阅读全文