/**
* @description: 两个线程交替打印26个小写字母 (97-122)
* @see:com.rongda.mybatispersonal.test
* @author:丁金阳
* @createTime:2020-05-15 11:06
*/
public class PrintChars{
//需要打印的字符 从a开始
char ch=97;
public synchronized void print() throws InterruptedException {
//char是一个16位的无符号数据类型,范围0-65535。 ch++最后可能超出char范围,再加就会从0往65535遍历。
char c=ch++;
if(c>122){
ch=97;
return;
}
System.err.println(Thread.currentThread().getName()+"->"+" ch:"+c);
this.notify();
this.wait();
}
public static void main(String[] args) throws InterruptedException {
PrintChars printChars = new PrintChars();
new Thread(new Runnable() {
@Override
public void run() {
try {
while(true)
printChars.print();
两个线程并发打印26个小写字母
于 2020-05-15 16:23:02 首次发布