package com.test0614;
// 스레드 : 작업스케줄에 의해 CPU 시간을 할당 받아 일을 할 수 있는 가장 작은 단위. 즉 자바 VM에 의해 호출 되어짐
// 일반 메소드 : 프로그래머에 의해 호출
// main 메소드 : 프로그램 시작점
// 스레드 작성 첫번째 방법
// 1. Thread 클래스를 상속 받는 클래스를 만든다.
// 2. public void run() {} 메소드를 정의 한다.
// 3. Thread 클래스를 상속받는 클래스의 객체를 생성한다.
// 4. start() 메소드로 스레드를 시작한다.
class Demo6 extends Thread {
public void run() {
for(int i=1; i<=10; i++){
System.out.println("스레드 : " + i);
try{
sleep(100); // 지정시간(ms) 동안 실행 중지
}catch (Exception e){
}
}
}
}
// 스레드를 만드는 두번째 방법
// 1.Runnable 인터페이스를 구현한 클래스를 만든다. -> 구현클래스에 public void run(){}을 재정의 한다.
// 2.Runnable 인터페이스를 구현한 클래스 객체를 만든다. => 이부분은 생략하고 바로 생성자를 Threa 생성자에 넘겨도 상관없다.
// 3.Thread 객체를 생성하며 생성할 때 생성자에 Runnable 인터페이스를 구현한 클래스 객체를 인자로 넘긴다.
// 4.Thread 객체로 start() 메소드를 호출하여 스레드를 시작한다
class Ex6 implements Runnable{
public void run(){
for(int i=1; i<=10; i++){
System.out.println("두번째 방법 : "+i);
try{
Thread.sleep(50);
}catch(Exception e){
}
}
}
}
/*
* 독립적인 스레드에서는 메인이 프로그램의 시작점이지만 종료는 아니다. 모든 독립 스레드가 종료 되어야 프로그램이 종료된다.
*/
// 이프로그램은 메인 스레드와 두개의 독립 스레드로 구성됨
public class Test6 {
public static void main(String[] args) {
Demo6 ob=new Demo6();
Thread t=new Thread(new Ex6());
System.out.println("스레드를 시작한다....");
ob.start();
t.start();
System.out.println("메인의 끝이다...");
}
}
'자바 DB 연동 > 쓰레드' 카테고리의 다른 글
쓰레드를 이용한 간단한 출금 (0) | 2013.06.19 |
---|---|
쓰레드 interrupt / isAlive (0) | 2013.06.19 |
데몬스레드 (0) | 2013.06.19 |
쓰레드 synchronized(동시에 일하는 것을 막는다) (0) | 2013.06.19 |
실시간으로 시간 보기 (0) | 2013.06.19 |