`
lookqlp
  • 浏览: 345797 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

三线程联系输出abc

阅读更多
public class ThreadPrint {

    /**
     * @author my_corner
     * @param
     * @return
     * @throws InterruptedException
     */
    public static void main(String[] args) throws InterruptedException {
        PrintTask task = new PrintTask();

        Thread a = new Thread(task);
        a.setName("a");
        Thread b = new Thread(task);
        b.setName("b");
        Thread c = new Thread(task);
        c.setName("c");

        a.start();
        b.start();
        c.start();

    }

}

class PrintTask implements Runnable {
    private int times = 0;

    /**
         * 
         */
    @Override
    public void run() {
        while (times < 300) {
            synchronized (this) {
                if (times % 3 == 0) {
                    if ("a".equals(Thread.currentThread().getName())) {
                        System.out.print("a");
                        times++;
                        this.notifyAll();
                    } else {
                        try {
                            this.wait();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
                if (times % 3 == 1) {
                    if ("b".equals(Thread.currentThread().getName())) {
                        System.out.print("b");
                        times++;
                        this.notifyAll();
                    } else {
                        try {
                            this.wait();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
                if (times % 3 == 2) {
                    if ("c".equals(Thread.currentThread().getName())) {
                        System.out.print("c");
                        times++;
                        this.notifyAll();
                    } else {
                        try {
                            this.wait();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        }
    }

}


引用至:http://www.iteye.com/topic/1119297
分享到:
评论

相关推荐

    java课程设计 三线程接力

    在Java课程设计中,"三线程接力"是一个典型的多线程编程问题,它涉及到并发控制、线程间协作以及时间间隔的精确控制。在这个项目中,我们有三个颜色的按钮——红色、蓝色和绿色,它们分别在特定的时间间隔内进行操作...

    保护三线制模拟输出设计的方法

    因此,保护三线制模拟输出设计,以防止工业瞬态过电引起电气过载,已经成为一项不可或缺的设计工作。下面,我们将详细探讨保护三线制模拟输出设计的方法。 首先,我们必须明确三线制模拟输出的保护策略主要针对的是...

    三线程分别显示各自时间

    标题提到的"三线程分别显示各自时间"是一个典型的多线程示例,它涉及到如何创建和控制多个线程来按照特定的时间间隔执行任务。下面将详细介绍如何实现这个功能。 首先,我们需要了解Java中的线程基础。在Java中,...

    三线程随机显示26个字母

    在本文中,我们将深入探讨如何使用Java编程语言实现一个三线程系统,该系统能够随机地在界面上显示26个英文字母。这个任务的关键在于理解和应用多线程概念,以及如何同步线程以避免数据竞争和死锁。首先,我们需要...

    电子政务-三线电流输出数字显示压力表.zip

    电子政务-三线电流输出数字显示压力表.zip

    PT100三线制电路

    PT100三线制电路

    三线表的制作

    ### 三线表的制作详解 #### 一、三线表概述 三线表是一种简洁、规范的表格形式,常用于学术论文、报告等正式文本中。它由三条线组成:顶部粗线、底部粗线以及中间一条细线。这种表格形式能够清晰地展现数据,避免...

    word一键生成三线表插件

    在Word文档中,三线表是一种常见的表格样式,尤其在学术论文和报告中,它能够清晰地呈现数据,同时保持专业且规范的外观。"word一键生成三线表插件"是一个专门针对这一需求设计的VBA(Visual Basic for Applications...

    股票外汇三线反转指标

    以上提供的是三线反转指标,三线反转是炒股,炒外汇常用的指标。判断趋势使用较为准确,提升交易的准确性!

    三线PT100仿真电路

    TL431是一种精密可调稳压器,常用于构建恒流源,其电压调整特性使得电流输出可以精确控制。 三线制的PT100设计是为了补偿因导线电阻引起的测量误差。在单线或双线系统中,导线自身的电阻会影响测量结果,因为它们会...

    三线表的规范格式

    三线表的规范格式,详细介绍三线表的定义、规格、大小以及在word中的格式要求和范例

    三线程诱鼠器VC源代码

    本示例中的"三线程诱鼠器VC源代码"是一个基于Microsoft Visual C++(VC)和MFC(Microsoft Foundation Classes)框架的项目,它展示了如何设计和实现一个使用三个线程的程序。在本文中,我们将深入探讨三线程程序的...

    三线表VBA.zip

    "三线表VBA.zip"这个压缩包就是为了解决这样的问题而设计的。它包含了一个VBA(Visual Basic for Applications)脚本和一个说明文档,专门针对在Microsoft Word中创建三线表的繁琐过程进行自动化。 三线表是一种...

    利用Excel绘制水化学三线图-Piper图

    利用Excel绘制水文地球化学中三线图(Piper图),可充分利用Excel的交互式修改 1、按照已给出的模板,每类型水样,用空行隔开...4、若需要更高版本的,如根据矿化度大小绘制散点,或其他需要,可联系,QQ:168 679 9537

    张卫星三线开花理论.pdf

    不过,如果【标题】和【描述】中提到的“张卫星三线开花理论.pdf”是指某个具体的IT理论或模式,我需要实际的文档内容才能进行详细的知识点解释。由于这里无法直接查看或解释具体的文档内容,如果您能提供该文档的...

    Piper三线图绘图软件

    Piper三线图是一种在水文地质和环境科学中广泛使用的图形工具,它通过三维坐标系统来直观地展示水体中的离子浓度关系。这个图表由三位科学家——Piper、Plummer和Chapman共同发展,因此得名Piper三线图。在AquaChem...

    三线制光敏电阻传感器模块测试程序

    三线制光敏电阻传感器模块是一种常用的光敏传感器,它通常由光敏电阻、电路板和三个引脚组成。其中两个引脚用于电源供电,另一个引脚用于输出信号。这种传感器模块能够根据光线的强度输出不同的电压信号,可以用来...

    顶底三线 三点定乾坤通达信指标公式源码.doc

    顶底三线三点定乾坤通达信指标公式源码分析 在技术分析中,顶底三线三点定乾坤通达信指标公式是一种非常重要的指标,它可以帮助投资者预测股票或期货的涨跌趋势并进行相应的投资决策。这种指标的核心思想是通过画线...

    三线图计算机绘制

    8. 可视化输出:最后,将生成的piper三线图保存为图像文件,如PNG、PDF或SVG,便于报告或展示。 通过掌握以上这些知识点,我们可以高效地利用计算机绘制piper三线图,提高科学研究和数据分析的效率。对于地质学家、...

Global site tag (gtag.js) - Google Analytics