子程序循環10次,接着主程序循環100次,然后子程序又循環10次,主程序循環100次,這樣循環50次


//子程序循環10次,接着主程序循環100次,然后子程序又循環10次,主程序循環100次,這樣循環50次。
public class ThreadTest 
{
	public static void main(String[] args) 
	{
		MyThread mythread = new MyThread();
		new Thread(new Runnable()//傳遞給Thread的是一個實現了Runnable接口的匿名內部類的對象的引用
		{
			@Override
			public void run() 
			{
				for(int i = 1; i <= 50; i ++)
				{
					mythread.subThread(i);
				}
			}
		}).start();
		
		new Thread(new Runnable()
		{
			@Override
			public void run() 
			{
				for(int i = 1; i <= 50; i ++)
				{
					mythread.mainThread(i);
				}
			}
		}).start();
	}
}

class MyThread
{
	public synchronized void subThread(int j)
	{
		for(int i = 1; i <= 10; i ++)
		{
			System.out.println("子線程"+j+":循環"+i+"次");
		}
		notifyAll();
		try {
			if(j!=50)
			{
				wait();
			}
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
	
	public synchronized void mainThread(int j)
	{
		for(int i = 1; i <= 100; i ++)
		{
			System.out.println("主線程"+j+":循環"+i+"次");
		}
		notifyAll();
		try {
			if(j!=50)
			{
				wait();
			}
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM