쓰레드가 잘 이해되지 않아서요.

1번 쓰레드에 의해서 1초마다 텍스트필드에 시간을 표시 한다면,

 코드를 하나 더 만들어서 쓰레드를 별도로 실행하면 2초마다 텍스트필드에 표시가 되어야 하는데요.

생각만큼 되지를 않네요.



import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import java.text.SimpleDateFormat;

public class exe2 extends Frame implements ActionListener,Runnable{

 TextField txt1;
 TextField txt2;

 public static void main(String[] args){
  new exe2("쓰레드예제");
 }


 // 파일 찾기
 public void actionPerformed(ActionEvent e){
 //생략
 }
 // 파일 찾기


     @Override // 상속관계에 있는 두 클래스의 run 재정의
     public void run()
     {

         try // 1번 쓰레드 : 1초마다 표시
         {
             while (true)
             {
                 Thread.sleep(1000);
  txt1.setText((new Date()).toString());
             }

         }
         catch (InterruptedException e){
  txt1.setText("1");
         }


         try // 2번 쓰레드 : 2초마다 표시         {
             while (true)
             {
                Thread.sleep(2000);
  txt2.setText((new Date()).toString());
             }

         }
         catch (InterruptedException e){
  txt1.setText("2");
         }


     }

 public exe2(String str){

  //-------- 창 만들기 -------
  super(str);
  setBounds(200,200,1000,500);
  setVisible(true);
  setLayout(new FlowLayout());
  //-------- 창 만들기 -------

  //-------- 텍스트필드 만들기 -------  
  txt1 = new TextField("....",20);
  add(txt1);

  txt2 = new TextField("....",20);
  add(txt2);

  //-------- 텍스트필드 만들기 -------  

  Thread obj = new Thread(this);      
  obj.start();


 }// 클래스 끝

}