zoukankan      html  css  js  c++  java
  • 多线程案例

    1、

    写两个线程,一个线程打印1-52,另一个线程打印字母A-Z。

    打印顺序为12A34B56C……5152Z。

    学习线程之间的通信协调关系。

    代码

    线程类Thread01

    package com.ljq.test;

    public class Thread01 implements Runnable {
    private Object obj;

    public Thread01(Object obj) {
    this.obj = obj;
    }

    public void run() {
    synchronized (obj) {
    for (int i = 1; i <= 26; i++) {
    System.out.print(
    2 * i - 1 + "");
    System.out.print(
    2 * i + "");
    obj.notifyAll();
    try {
    obj.wait();
    }
    catch (InterruptedException e) {
    e.printStackTrace();
    }
    }
    }
    }
    }

                    

    线程类Thread02

    package com.ljq.test;

    public class Thread02 implements Runnable {
    private Object obj;

    public Thread02(Object obj) {
    this.obj = obj;
    }

    public void run() {
    synchronized (obj) {

    for (char c = 'A'; c <= 'Z'; c++) {
    System.out.print(c
    + "");
    obj.notifyAll();
    try {
    obj.wait();
    }
    catch (InterruptedException e) {
    e.printStackTrace();
    }

    }
    }
    }

    }

                         

    测试类ThreadTest

    package com.ljq.test;

    public class ThreadTest {

    public static void main(String[] args) {
    Object obj
    = new Object();
    Thread01 t1
    = new Thread01(obj);
    Thread02 t2
    = new Thread02(obj);
    Thread thread01
    = new Thread(t1);
    Thread thread02
    = new Thread(t2);
    thread01.start();
    thread02.start();
    }

    }
  • 相关阅读:
    B/S架构
    RPC远程过程调用详解
    Ubuntu18.04安装MongoDB
    Python2.X SQLAlchemy @@tx_isolation警告
    Excel单元格内自动换行自动行高,打印预览出现内容缺失解决方案
    Winform应用的多语言设置
    单例模式创建窗口
    相似命名的字符串高效拼接
    利用dynamic动态创建对象
    设置全局快捷键
  • 原文地址:https://www.cnblogs.com/linjiqin/p/2016238.html
Copyright © 2011-2022 走看看