쓰레드 (3) 썸네일형 리스트형 synchronized를 이용한 쓰레드의 동기화 이번 포스팅은 쓰레드의 동기화를 위한 synchronized에 대하여 작성하였습니다. 싱글 쓰레드가 아닌 멀티 쓰레드로 프로세스를 구성할 때, 같은 자원을 공유해서 작업을 하게 됩니다. 따라서 서로의 작업에 영향을 미치게 되고 이로 인해 의도했던 것과는 다른 결과를 얻을 수 있게 되는 문제점이 있습니다. 아래 예시를 통해 어떤 문제점이 발생하는지 확인해 보겠습니다. public class Main { public static void main(String[] args) { Runnable r1 = new Thread_0(); new Thread(r1).start(); new Thread(r1).start(); } } class Thread_0 implements Runnable { TargetInstan.. Thread 실행 제어 여러 thread가 실행될 때 Thread 클래스에서 제공하는 다양한 메서드를 통해 쓰레드들끼리의 실행 순서를 정하거나, 실행을 일시정지시키는 등 실행 제어가 가능합니다. 이번 포스팅은 쓰레드 실행 제어에 관련 있는 메서드에 대해서 알아보겠습니다! Thread 실행 제어 메서드 종류 메서드 설명 static void sleep(long millis) static void sleep(long millis, int nanos) 지정된 시간동안 쓰레드를 일시정지 시킵니다. 지정한 시간이 지나면 자동적으로 다시 실행대기상태가 됩니다. (millis: 1000분의 일초, nanos:10억분의 일초) void join() void join(long millis) void join(long millis, int na.. Thread 구현과 실행 (Runnable vs Thread) 이번 포스팅은 Thread를 구현하는 방법 2가지와 Thread의 start()와 run() 메서드의 차이점에 대하여 포스팅해 보았습니다. Thread 생성 1. Thread 클래스 상속 선언 class Thread_1 extends Thread{ @Override public void run(){ for(int i=0;i 이전 1 다음