有关线程的一个小程序,求解答
public class T extends Thread{
	private int num;
	
	public T(int num)
	{
		this.num = num;
	}
	
	public void run()
	{
		synchronized(this)
		{
			while(this.num < 50)
			{
				try
				{
					this.wait();
				}
				catch(InterruptedException e)
				{
					e.printStackTrace();
				}
			}
			System.out.println(this.num);
			this.num += 2;
			this.notify();
		}
	}
	
	static class Tj extends Thread
	{
		private int num;
		
		public Tj(int num)
		{
			this.num = num;
		}
		
		public void run()
		{
			synchronized(this)
			{
				while(this.num < 50)
				{
					try
					{
						this.wait();
					}
					catch(InterruptedException e)
					{
						e.printStackTrace();
					}
				}
				System.out.println(this.num);
				this.num += 2;
				this.notify();
			}
			
		}
	}
	
	public static void main(String[] args) {
		
		(new Thread(new T(1))).start();
		(new Thread(new Tj(0))).start();
	}
}
程序的目的是利用多线程顺序输出奇数偶数,我自己也不清楚到底是什么问题,或者是程序本身就不对,希望论坛里的朋友帮忙解决一下,非常感激。
              
------解决方案--------------------麻烦你下次打些空格号码,找括号配对看累死了。
目测你只能执行到wait啊,wait之后要能够执行到notify才会被唤醒,你这种把notify直接放在wait后面有什么意义啊。wait和notify要在不同的线程中被执行才有意义,而你这是在同一个线程中分先后执行,那notify将永远都执行不到。
------解决方案--------------------把num改成static的试试。