自定义一个类Demo,使其实现Runnable接口;在Demo类中覆写run()方法,在方法内编写一个for循环,循环体内,先执行线程让步的方法yield(),然后输出打印:线程名称+循环次数;编写测试类Example03,在Example03类的main()方法中,创建一个Demo对象,利用Thread的构造方法创建两个线程对象,并执行线程对象的start()方法,同时编写for循环,循环内打印“main:”+当前循环次数。
时间: 2023-12-05 21:06:13 浏览: 73
以下是Demo类的代码实现:
```java
public class Demo implements Runnable {
@Override
public void run() {
for (int i = 0; i < 5; i++) {
Thread.yield();
System.out.println(Thread.currentThread().getName() + ": " + i);
}
}
}
```
以下是Example03类的代码实现:
```java
public class Example03 {
public static void main(String[] args) {
Demo demo = new Demo();
Thread thread1 = new Thread(demo, "Thread 1");
Thread thread2 = new Thread(demo, "Thread 2");
thread1.start();
thread2.start();
for (int i = 0; i < 5; i++) {
System.out.println("main: " + i);
}
}
}
```
运行Example03类的main()方法,可以看到两个线程交替输出自己的线程名称和循环次数,同时主线程也在循环中输出自己的信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)