zoukankan      html  css  js  c++  java
  • 执行完线程1再执行线程2 以及线程1和线程2共同执行

    1
    package test;
    
    
    public class AThread extends Thread
    {
    	String name;
    	public AThread(String name)
    	{
    		this.name=name;
    	}
    	static Object printer=new Object();
    	 public void run()
    	{
    		 
    		 synchronized(printer)
    		{
    			int i=1;
    			while(i<=5)
    			{
    				System.out.println(name+"执行步骤"+i);
    				i++;
    			}
    		}
    	}
    	public static void main(String[] args) 
    	{
    		AThread thread1=new AThread("线程1");
    		AThread thread2=new AThread("线程2");
    		thread1.start();
    		thread2.start();
    	}
    
    
    }
    运行结果:
    线程1执行步骤1
    线程1执行步骤2
    线程1执行步骤3
    线程1执行步骤4
    线程1执行步骤5
    线程2执行步骤1
    线程2执行步骤2
    线程2执行步骤3
    线程2执行步骤4
    线程2执行步骤5
    
    
    2去掉 
    static Object printer=new Object();
    和synchronized(printer){}即可
    运行结果:
    线程1执行步骤1
    线程2执行步骤1
    线程1执行步骤2
    线程2执行步骤2
    线程1执行步骤3
    线程2执行步骤3
    线程1执行步骤4
    线程2执行步骤4
    线程1执行步骤5
    线程2执行步骤5

  • 相关阅读:
    用例图设计
    第二次结队作业
    第一次结对作业
    第二次个人编程作业
    简易的中文语言翻译器
    第一次博客作业
    个人总结
    第三次个人作业——用例图设计
    第二次结对作业
    第一次结对作业
  • 原文地址:https://www.cnblogs.com/iamjuruo/p/7470932.html
Copyright © 2011-2022 走看看