본문으로 바로가기

java 쓰레드 예제

category Programing/JAVA 2018. 3. 19. 21:41
반응형

쓰레드 예제

 

 

 

 

package T5;

import java.util.Scanner;

public class Server {
 boolean flag = true;
 String msg;
 public Server() {
  System.out.println("Ready Server");
  
 }
 
 public void start() {
  System.out.println("Start Server");
  Scanner scanner = null;
  while(flag) {
   scanner = new Scanner(System.in);
   System.out.println("Ready ..");
   msg = scanner.nextLine();
   Receiver receiver = new Receiver();
   receiver.setMsg(msg);
   receiver.start();
   System.out.println("Start ..");
  }
  System.out.println("End Server");
 }
 
 class Receiver extends Thread{
  String msg;
  public void setMsg(String msg) {
   this.msg = msg;
  }
  @Override
  public void run() {
   for (int i = 0; i < 10; i++) {
    try {
     Thread.sleep(500);
    } catch (InterruptedException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
    System.out.println("Receive : "+msg);
    
   }
   Sender sender = new Sender();
   sender.setMsg(msg);
   sender.start();
  }
  
 }
 
 class Sender extends Thread {
  String msg;
  public void setMsg(String msg) {
   this.msg = msg;
  }
  @Override
  public void run() {

   for (int i = 0; i < 10; i++) {
    try {
     Thread.sleep(200);
    } catch (InterruptedException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
    System.out.println("Send : "+msg);
    
   }
  
  }
  
 }
 
 
 
 public static void main(String[] args) {
  Server server = new Server();
  server.start();
  
  
 }
}

반응형