用两个线程,一个输出字母,一个输出数字,交替输出A1B2C3D4…26Z
实现示例代码如下:
package com.mytest.Learning;
public class jiaoti_print_syn {
public static void main(String [] args){
final Object object = new Object();
final char[] letter = {'A'};
new Thread(()->{
synchronized (object){
for(int i=0; i<26; i++){
System.out.print(letter[0]++);
try {
object.notify();
object.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
object.notify();
}
},"t1").start();
new Thread(()->{
synchronized (object){
for(int j=0;j<26;j++){
System.out.print(j);
try {
object.notify();
object.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
object.notify();
}
},"t2").start();
}
}
打印效果如下: