1、创建两个线程,一个动态线程,一个静态线程。 Thread_1 : 无限循环打印数值,间隔500ms,并且更新计数器 Thread_2 : 优先级比 thread_1高,循环打印(0~9)后打印退出信息
时间: 2024-10-14 18:17:00 浏览: 36
java两个线程同时写一个文件
5星 · 资源好评率100%
在Java中,你可以通过继承`Thread`类或实现`Runnable`接口来创建线程。这里我会展示如何创建一个动态线程(通过继承Thread)和一个静态线程(通过实现Runnable接口),同时设置优先级并实现所需的循环行为。
**动态线程 (继承 Thread 类) 示例**:
```java
class DynamicThread extends Thread {
private int counter = 0;
private long interval = 500; // 间隔时间(毫秒)
public DynamicThread(String name) {
super(name);
}
@Override
public void run() {
while (true) {
printValue();
try {
sleep(interval); // 睡眠500毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private synchronized void printValue() {
System.out.println("Thread_1: " + counter++);
}
}
// 创建动态线程实例
DynamicThread dynamicThread = new DynamicThread("Thread_1");
dynamicThread.start(); // 启动线程
```
**静态线程 (实现 Runnable 接口) 示例**:
```java
class StaticThread implements Runnable {
private int counter = 0;
private static final int MAX_VALUE = 9;
@Override
public void run() {
Thread.currentThread().setPriority(Thread.NORM_PRIORITY + 1); // 设置优先级比Thread_1高
for (int i = 0; i <= MAX_VALUE; i++) {
printValue(i);
}
System.out.println("Thread_2: Exiting...");
}
private void printValue(int value) {
System.out.println("Thread_2: " + value);
}
}
// 创建线程工厂并启动静态线程
ThreadFactory factory = Executors.defaultThreadFactory();
Thread thread2 = new Thread(new StaticThread(), "Thread_2");
thread2.setDaemon(true); // 如果主线程结束,此线程也结束
thread2.start();
```
阅读全文