Java轮流打印字符
来源:互联网 发布:javascript 获取元素 编辑:程序博客网 时间:2024/06/08 05:48
两个线程轮流打印A、B
public class ThreadDemo { public static void main(String[] args) { Thread t1 = new TT("A"); Thread t2 = new TT("B"); t1.start(); t2.start(); }}class TT extends Thread { private static Object LOCK = new Object(); private String mName; private boolean flag; public TT() { } public TT(String name) { this.mName = name; } @Override public void run() { for (int i = 0; i < 10; i++) { synchronized (LOCK) { System.out.println(mName); flag = !flag; LOCK.notify(); if (i < 10) { try { LOCK.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } }// end of synchronized }// end for }// end run}
三个线程轮流打印 A、B、C
import java.util.concurrent.atomic.AtomicInteger;public class TestAsynTreadXunlei { public static void main(String argv[]) { AtomicInteger synObj = new AtomicInteger(0); TestPrint a = new TestPrint(synObj, "A", 0); TestPrint b = new TestPrint(synObj, "B", 1); TestPrint c = new TestPrint(synObj, "C", 2); a.start(); b.start(); c.start(); }}class TestPrint extends Thread { private AtomicInteger synObj; private String name; private int flag; private int count = 0; public TestPrint(AtomicInteger synObj, String name, int flag) { this.synObj = synObj; this.name = name; this.flag = flag; } @Override public void run() { while (true) { synchronized (synObj) { if (synObj.get() % 3 == flag) { synObj.set(synObj.get() + 1); System.out.println(name); count++; synObj.notifyAll(); if (count == 10) { break; } } else { try { synObj.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } } } }}
0 0
- Java轮流打印字符
- JAVA 多线程轮流打印ABC
- java多线程轮流打印数据问题
- 线程笔记一:java线程经典题目:轮流打印
- Java n个线程轮流打印数字的问题
- JAVA基础(2) -- 两个线程轮流打印1-100
- 多线程轮流打印
- java实现3个线程轮流打印A、B、C,达到“ABBCCCAAAABBBBBCCCCCC”,打印200个字符停止,并在控制台打印出A、B、C各打印了多少个
- 多线程--同时轮流打印ABC
- JAVA程序设计(18.1)----- 1多线程轮流打印 线程调度 线程池 synchronized wait notify 内部类
- 面试题多线程轮流打印ABC初试
- N个线程轮流打印数字问题
- 【面试】--三个线程轮流打印ABC
- JAVA程序设计(18.2)----- 5条线程按照给定规律轮流打印 线程调度 线程池 synchronized wait notify
- java 线程上机题 循环唤醒 三个线程轮流打印 顺序 A线程->B线程->C线程
- 三个线程,轮流打印10次各自的线程ID
- C++11用两个线程轮流打印整数
- 3个线程依次轮流打印出75个数
- 热门电视台直播链接
- MongoDB第五天:MongoDB主从复制及MongoDB集群
- org.springframework.web.context.ContextLoaderListener
- Xcode快捷键
- java 一个日志记录异常信息的小工具
- Java轮流打印字符
- android -- 小功能 DownloadManager——Android 下载 apk 包并安装
- Servlet 3.0 新特性详解
- ASP.NET中时间选择控件的添加
- hibernate 三种常用的查询方式
- ios后台刷新,后台定位,后台下载
- 从MapperScannerConfigurer看MyBatis自动扫描Mapper的机制
- XTU新生赛B题 ABK 解题报告
- 高级特性-多线程,GUI