Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 고급자바
- Thread
- 조건문
- 객체지향
- 변수선언
- 객체
- 동적 데이터
- oclick 동적
- comparator
- 변수
- I/O
- MAP
- 동적 문자열
- iBatis
- 기초
- IBatis CRUD
- 연산자
- IBatis 게시판
- 코딩
- 자바
- 변수초기화
- 동적 버튼 생성
- Java
- io
- 계산기
- 동적 버튼 onclick
- 쓰레드
- Comparable
- enum
- ListSort
Archives
- Today
- Total
Jun's Blog
[Java] Single Thread & Multi Thread 본문
1) Single Thread
public class T01_ThreadTest {
public static void main(String[] args) {
// 싱글 쓰레드 프로그램
for(int i=1; i<=200; i++) {
System.out.print("*");
}
System.out.println();
for(int i=1; i<=200; i++) {
System.out.print("$");
}
}
}
2) Multi Thread
package kr.or.ddit.basic;
public class T02_ThreadTest {
public static void main(String[] args) {
// 멀티 쓰레드 프로그램 방식
// 방법 1 : Thread 클래스를 상속한 class의 인스턴스를 생성한 후, 이 인스턴스의 start() 메서드를 호출한다
MyThread1 th1 = new MyThread1();
th1.start();
// 방법 2 : Runnable 인터페이스를 구현한 class의 인스턴스를 생성한 후, 이 인스턴스를 Thread 객체의 인스턴스를 생성할 때 생성자의 매개변수로 넘겨준다.
// 이때, 생성된 Thread 객체의 인스턴스의 start() 메서드를 호출한다.
MyThread2 r1 = new MyThread2();
Thread th2 = new Thread(r1);
th2.start();
// 방법 3 : 익명클래스를 이용하는 방법
// Runnable 인터페이스를 구현한 익명클래스를 Thread 인스턴스를 생성할 때
// 매개변수로 넘겨준다.
Thread th3 = new Thread(new Runnable() {
@Override
public void run() {
for(int i=1; i<=200; i++) {
System.out.print("@");
try {
// Thread.sleep(시간) => 주워진 시간동안 작업을 잠시 멈춘다.
// 시간은 밀리세컨드 단위를 사용한다.
// 즉, 1000ms는 1초를 의미한다.
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
th3.start();
System.out.println("main 메서드 작업 끝...");
}
}
class MyThread1 extends Thread {
@Override
public void run() {
for(int i=1; i<=200; i++) {
System.out.print("*");
try {
// Thread.sleep(시간) => 주워진 시간동안 작업을 잠시 멈춘다.
// 시간은 밀리세컨드 단위를 사용한다.
// 즉, 1000ms는 1초를 의미한다.
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class MyThread2 implements Runnable {
@Override
public void run() {
for(int i=1; i<=200; i++) {
System.out.print("$");
try {
// Thread.sleep(시간) => 주워진 시간동안 작업을 잠시 멈춘다.
// 시간은 밀리세컨드 단위를 사용한다.
// 즉, 1000ms는 1초를 의미한다.
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
'High Java > Thread' 카테고리의 다른 글
[Java] Thread에서 데이터를 공통으로 사용하는 방법 예제 (0) | 2020.10.22 |
---|---|
[Java] Thread 알파벳 대문자 출력하고 끝낸 순서대로 결과 나타내기 (0) | 2020.10.22 |
[Java] Thread를 이용해 컴퓨터와 가위 바위 보 게임하기 (0) | 2020.10.22 |
[Java] 멀티 쓰레드를 활용한 카운트다운 처리 (0) | 2020.10.22 |
[Java] 단일 쓰레드에서의 사용자 입력 처리하기 (0) | 2020.10.22 |
Comments