java线程中synchronized的练习

题目 模拟共享打印:在构造函数中输入:作业名、作业的内容(字符串数组),构造多个作业对象。 要求:这些作业完整的输出,但次序不定。 例如: 甲:1-3-5-7-9 乙:A-B-C-D-E 丙:2-4-6-8-10 丁:aa-bb-cc-dd-ee   代码如下
  1. package com.liuyanzhao;
  2. class print extends Thread {
  3.     String name;
  4.     String arr[];
  5.     public Integer x = 0;
  6.     public print(String name,String []arr) {
  7.         super(name);
  8.         this.arr = arr;
  9.     }
  10.     @Override
  11.     public void run() {
  12.         synchronized ("aaa") {//参数不重要
  13.             System.out.print(getName()+":"+arr[0]);
  14.             for(int i=1;i<arr.length;i++) {
  15.                 System.out.print("-"+arr[i]);
  16.             }
  17.             System.out.println();
  18.         }
  19.     }
  20. }
  21. public class Demo5 {
  22.     public static void main(String[] args) {
  23.         String []arr1 = {"1","3","5","7","9"};
  24.         String []arr2 = {"A","B","C","D","E"};
  25.         String []arr3 = {"2","4","6","8","10"};
  26.         String []arr4 = {"aa","bb","cc","dd","ee"};
  27.         new print("甲",arr1).start();
  28.         new print("乙",arr2).start();
  29.         new print("丙",arr3).start();
  30.         new print("丁",arr4).start();
  31.     }
  32. }
运行结果如下   本文地址:https://liuyanzhao.com/4309.html 转载请注明

发表评论

目前评论:2