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

  • 相关阅读:
    js中不同的height, top的对比
    正则表达式入门以及记录
    CSS小记(持续更新......)
    Git远程操作
    Git Push 避免用户名和密码方法
    Git本地操作
    CSS3动画属性
    c语言文法
    实验一、词法分析器实验
    词法分析器
  • 原文地址:https://www.cnblogs.com/iamjuruo/p/7470932.html
Copyright © 2011-2022 走看看