MultiProcessingExercise3
package MultiProcessingExercise320240813;public class MultiProcessingExercise {public static void main(String[] args) {// 需求:同时开启两个线程,共同获取1 - 100之间的所有数字,若是奇数则打印PrintNumber printNumber = new PrintNumber();Thread thread1 = new Thread(printNumber, "线程1");Thread thread2 = new Thread(printNumber, "线程2");thread1.start();thread2.start();}
}
PrintNumber
package MultiProcessingExercise320240813;import java.util.concurrent.locks.ReentrantLock;public class PrintNumber implements Runnable {private ReentrantLock lock = new ReentrantLock();private int number = 1;@Overridepublic void run() {while (number < 100) {lock.lock();try {if (number < 100) {try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}if (number % 2 == 1) {System.out.println(Thread.currentThread().getName() + ": " + number);}number++;}} finally {lock.unlock();}}}
}