• 多线程案例


    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();
    }

    }
  • 相关阅读:
    PAXOS: libevent_paxos
    R提高篇(五): 描述性统计分析
    R提高篇(四): 数据管理二
    R提高篇(三): 数据管理一
    锂电池知识
    R提高篇(二): 图形初阶
    R提高篇(一): 输入输出
    动力电池基本知识篇
    DW(六):polybase访问Azure Blob Storage
    DW(五):polybase集群安装
  • 原文地址:https://www.cnblogs.com/linjiqin/p/2016238.html
Copyright © 2020-2023  润新知