创建一个简单的多线程程序,两个线程分别输出 1 到 10 和 A 到 J。
时间: 2024-10-19 11:17:54 浏览: 21
利用Log4j将不同Package的日志输出到不同文件的方法
创建一个简单的多线程程序通常需要使用Java中的`Thread`类和`synchronized`关键字来确保并发安全。下面是一个基本的例子:
```java
public class ThreadDemo {
private int counter = 1;
private char letter = 'A';
// 线程1的任务
public class PrintNumbers extends Thread {
@Override
public void run() {
while (counter <= 10) {
System.out.println(Thread.currentThread().getName() + ": " + counter++);
try {
sleep(50); // 暂停50毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
// 线程2的任务
public class PrintLetters extends Thread {
@Override
public void run() {
while (letter <= 'J') {
synchronized (ThreadDemo.this) { // 使用当前对象作为锁
System.out.println(Thread.currentThread().getName() + ": " + letter++);
if (letter == 'J') {
ThreadDemo.this.notify(); // 当达到J时通知主线程
}
try {
ThreadDemo.this.wait(); // 主线程等待
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
public static void main(String[] args) {
Thread numbersThread = new PrintNumbers();
Thread lettersThread = new PrintLetters();
numbersThread.start();
lettersThread.start();
}
}
阅读全文