网站添加后台,搜索引擎营销方法主要有三种,周口市建设职工培训中心网站,青海风控平台app下载题目#xff1a;有A,B,C三个线程, A线程输出A, B线程输出B, C线程输出C#xff0c;要求, 同时启动三个线程, 按顺序输出ABC, 循环10次。 解题思路#xff1a;要按顺序输出ABC, 循环10次#xff0c;就要控制三个线程同步工作#xff0c;也就是说要让三个线程轮流输出#…题目有A,B,C三个线程, A线程输出A, B线程输出B, C线程输出C要求, 同时启动三个线程, 按顺序输出ABC, 循环10次。 解题思路要按顺序输出ABC, 循环10次就要控制三个线程同步工作也就是说要让三个线程轮流输出直到10个ABC全部输出则结束线程。这里用一个Lock对象来控制三个线程的同步。用一个int型变量COUNT标识由那个线程输出。 import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;public class PrintABC {public static int cnt 0;public static final int COUNT 30;public static void main(String[] args) {final Lock lock new ReentrantLock();Thread A new Thread(new Runnable(){Overridepublic void run() {while(true){lock.lock();if(cntCOUNT){lock.unlock();return;}if(cnt%30){System.out.println(A);cnt;}lock.unlock();} }});Thread B new Thread(new Runnable(){public void run(){while(true){lock.lock();if(cntCOUNT){lock.unlock();return;}if(cnt%31){System.out.println(B);cnt;}lock.unlock();}}});Thread C new Thread(new Runnable(){public void run(){while(true){lock.lock();if(cntCOUNT){lock.unlock();return;}if(cnt%32){System.out.println(C);cnt;}lock.unlock();}}});A.start();B.start();C.start();}} 程序运行结果如下 A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C