스레드

Ⅴ. Thread 동기화 1. 동기화(synchronized) // Example package sample; // 순차적인 동작을 처리할 때, 싱크가 맞지 않는 부분을 고쳐보자 // → synchronized 키워드 적용 class Counter { private int count = 0; // 메소드 간의 동기화가 이루어짐. // 따라서 다른 메소드의 동작 시, 침범하지 않고 기다림 public void increment() {synchronized(this) {count++;}} public void decrement() {synchronized(this) {count--;}} public int getCount() {return count;} } public class Main { static C..
Ⅳ. Thread의 속성 ※ 스레드명을 지정하지 않는 경우 thread-0, thread-1과 같이 번호를 1씩 증가시키면서 이름 자동 부여 // Example1 package sample; // 둘 이상의 스레드를 생성한 연습문제 // 어떤 것이 먼저 처리될까? class Even implements Runnable { public void run() { try { for(int i = 0; i < 20; i++) { if(i % 2 == 0) { System.out.println(i + " "); } } } catch(Exception e) { e.printStackTrace();// 스택 메모리 추적 내용을 출력 } } } class Odd implements Runnable { public voi..
Ⅲ. Thread의 생성 및 실행방법 1. Thread 생성방법 및 실행방법 - 생성방법1 : Thread class를 상속받아 run() 메소드 재정의 - 생성방법2 : Runnable interface 구현 (추상메소드(run()) 구현) → Thread 생성자로 Runnable 객체 전달 - 실행방법 : Thread 객체내의 start() 메소드 호출 // Example1 package sample; // Runnable 인터페이스를 상속해 클래스를 만들면, 멀티 스레드 동작 가능 class Task1 implements Runnable {// Runnable는 인터페이스 public void run() {// run() : 실행한다 // 여기에 스레드가 처리할 작업을 넣어주면 됨 } } // Th..
Ⅱ. Multi-Thread의 필요성 1. Multi-Thread의 필요성 - Thread는 동시성(Concurrency)과 병렬성(Parallelism)을 가지고 수행 (시간별로 스레드에 할당하는 시간이 나뉘어 있기 때문) ※ 동시에 실행하는 것 같지만 순차적으로 실행 (CPU가 동시에 둘 이상의 스레드를 돌리진 않음)
Ⅰ. Program vs. Process vs. Thread의 개념 1. Program vs. Process vs. Thread의 개념 - 프로그램 : 실행 가능한 형태의 소프트웨어 - 프로세스 : 실행 중인 프로그램 (변수) - 스레드 : 프로세스의 작업 단위 ※ 자바로 만든 프로그램에서도 스레드가 만들어지고 동작할 수 있음 - Loading을 두번 실행하면 → 멀티 프로세스 (Multi-Process) 2. Process의 구조 3. Java Program상의 Thread
NewBean
'스레드' 태그의 글 목록