• 多线程案例


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

    }
  • 相关阅读:
    py计算程序运行时间-简易版
    py-冒泡排序
    py_冒泡排序
    Python测试函数运行时间
    py_二分查找
    Python发送get、post请求
    py_递归实例:汉诺塔问题
    递归实例:汉诺塔问题
    Jmeter断言实例—响应断言
    第十四天-linux命令及基础知识实战
  • 原文地址:https://www.cnblogs.com/linjiqin/p/2016238.html
Copyright © 2020-2023  润新知