⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex.java

📁 里面包含了很多的JAVA基础的源程序,算法,想看就下吧
💻 JAVA
字号:
public class Ex
{
	
	public static void main(String[] args)
	{
	//	new Test().start();
	//	new Test().start();
	    Test t = new Test();
	    
	    new Thread(t).start();
	    

		/*这里如果不使用sleep方法,则在第一个线程起动后,main线程还是会继续执行,这样flag就会被设置为true,
		这样只会执行flag为true时的线程,而为false时的代码将不会被执行*/
	    try {
	    	
	    	Thread.sleep(30);
	    	
	    }
	    catch (Exception ex) {
	    	
	    	ex.printStackTrace();
	    }



	    t.flag=true;	    
	    new Thread(t).start();
//	    new Thread(t).start();
//	    new Thread(t).start();
	
		
	}
}

class Test implements Runnable// extends Thread
{
	int count=50;
	boolean flag=false;
	Object obj = new Object();
	public void run()
	{
		
		if(flag==false)
		{
			
			while(true)
			
			  go();
			
		}
		else
		{
		
			
				 	while(true)
					{
								synchronized(this)//这里换成obj就会出现0票现象
								{
								
								
											if(count>0)
											{
													try {
														
														Thread.sleep(30);
														
												    }
												    catch (Exception ex) {
												    	
												    	ex.printStackTrace();
												    }
													
													System.out.println("obj剩余票数"+count--);				
												
												
											}
											
					            }
		            
		                  //    go();
					
			    	}
		
		  }
	
	}
	
	
	public synchronized void go()
	{
		
		

						if(count>0)
						{
								try {
									
									Thread.sleep(30);
									
							    }
							    catch (Exception ex) {
							    	
							    	ex.printStackTrace();
							    }
								
								System.out.println("this剩余票数"+count--);				
							
							
						}		
		
		
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -