zoukankan      html  css  js  c++  java
  • Java并发编程的艺术(一)

    题目1

    创建3个线程,让3个线程分别按着顺序打印AAAA,BBBB,CCCC(第一个线程打印AAAA,第二个线程打印BBBB,第一个线程始终在第二个线程之前打印)

    代码(该代码为打印3个线程分别打印一次)

    public class JoinTest {
    	
    	public static void main(String[] args) {
    		Thread prev = Thread.currentThread();
    		String[] array = {"AAAA","BBBBB","CCCC"};
    		for(int i = 0;i<3;i++){
    			Thread thread = new Thread(new MyThread(prev,array[i]),"Thread"+i);
    			thread.start();
    			prev = thread;
    		}
    
    	}
    }
    
    class MyThread implements Runnable{
    	private Thread thread;
    	private String print;
    	public MyThread(Thread thread,String print){
    		this.thread = thread;
    		this.print = print;
    	}
    	
    	@Override
    	public void run() {
    		try {
    			thread.join();
    			for(int i = 0;i<3;i++){
    				System.out.println(print);
    			}
    		} catch (InterruptedException e) {
    			e.printStackTrace();
    		}
    		System.out.println(Thread.currentThread().getName());
    	}
    	
    }
    
    

    运行结果

    AAAA
    AAAA
    AAAA
    Thread0
    
    BBBB
    BBBB
    BBBB
    Thread1
    
    CCCC
    CCCC
    CCCC
    Thread2
    

    题目1 扩展

    只创建3个线程,循环打印 题目1 的字符串,并且按照上题中的线程顺序打印

  • 相关阅读:
    自动装箱和==和equals
    4.1 java 类加载器
    23种设计模式
    ionic2打包 配置路径
    ionic2 native app 更新用户头像暨文件操作
    Spring Security三种认证
    maven设置本地仓库地址和设置国内镜像
    ps选框工具全解
    最长公共子序列问题
    内部排序算法的稳定性
  • 原文地址:https://www.cnblogs.com/fonxian/p/5463773.html
Copyright © 2011-2022 走看看