Java 程序使用两个线程打印奇偶数

17 Mar 2025 | 4 分钟阅读

线程是多线程编程的一部分。要编写一个使用 2 个线程打印奇偶数的代码,需要了解多线程

现在,我们需要使用两个不同的线程按自然顺序打印到MAX 的奇偶数。因此,我们有两种方法可以解决这个问题,即使用wait 和 notify 以及使用余数的概念。

使用 wait 和 notify

为了使用wait 和 notify 打印奇偶数,我们使用以下步骤:

  1. 我们创建一个布尔变量odd,当我们需要打印奇数时,其值为 true。
  2. 我们创建两个用户定义的方法,例如printEventNumbers()printOddNumbers(),用于打印偶数和奇数。
  3. 我们同时创建两个线程,即 thread1 和 thread2,分别用于偶数和奇数。
  4. thread1 将同时调用 printEvenNumbers() 方法,thread2 将同时调用 printOddNumbers() 方法。
  5. 在 printEvenNumbers() 方法中,thread1 将等待布尔值odd 为 true。
  6. 在 printOddNumbers() 方法中,thread2 将等待布尔值odd 为 false。

让我们使用wait 和 notify 来实现打印奇偶数代码。

PrintEvenOddExample1.java

输出

Java Program to Print Even Odd Using Two Threads in

使用余数

在这种使用两个线程打印奇偶数的技术中,代码基于以下两点:

  1. 如果 num%2==1,则奇数线程打印该数字并将其递增。否则,奇数线程将进入等待状态
  2. 如果 number%2==0,则偶数线程打印该数字并将其递增。否则,偶数线程将进入等待状态。

EvenOddRunnable.java

PrintEvenOddExample2.java

输出

Java Program to Print Even Odd Using Two Threads in
下一主题Java Variant