2021-02-15 많은 Thread들이 동시에 수행이 된다면 자신이 원하는 결과를 얻지 못하고, 원치 않는 결과물이 나올 수 도 있다. 이럴 경우를 대비해서 자바에서는 Thread들 간의 우선순위를 정해 혼란을 방지하고 먼저 수행되야할 Thread와 그 이후에 수행되어야 할 Thread를 정할 수 있는데, 오늘은 그 방법을 알아보도록 하자. - 실행 코드 package Thread; public class main { public static void main(String[] args) { Thread thread1 = new Thread(() -> { for(int i = 0; i< 5; i++) { System.out.println("thread1 실행중입니다 . . . ."); } System.o..
2021-02-10 여러 개의 스레드를 사용하다 보면, 스레드 간의 이름이 혼동되는 상황이 발생할 수 있다. 이 경우를 대비하여 스레드 간의 이름을 설정하는 방법이 존재하는데 오늘은 이와 같은 방법을 알아보자. 예제 스레드 2개 package Thread; public class Thread_A extends Thread{ public Thread_A() { setName("Thread_A"); } @Override public void run() { for(int i = 0; i < 5; i++) { System.out.println("상속받은 Thread_A 클래스가 실행 중 입니다."); } } } 스레드는 총 2가지 스레드를 사용할 것이다. 하나는 클래스에서 Thread를 상속받아 구현한 스레드(..
2021-02-09 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다. (출처 : 위키피디아 ) 즉 기존의 싱글 스레드가 아닌 멀티스레드를 사용하기 위해서 이와 같이 따로 스레드를 만들어주어야 하는데, 오늘은 그 방법을 알아보자. 방법 1.람다식으로 Runnable 구현하기 package Thread; public class main { public static void main(String[] args) { Thread thread1 = new Thread(()-> {..
2021-01-08 데몬스레드는 쉽게 말해서 주스레드의 하위 스레드라고 할 수 있다. 즉 주스레드의 보조적인 역할을 수행하게 되며, 주스레드가 종료될 경우 데몬스레드도 같이 종료되게 된다. 바로 코드로 살펴보도록 하자. 우선 Thread를 상속받는 두개의 클래스를 만들어 주었으며, 내용은 아래와 같다. package Demon; public class Thread1 extends Thread { @Override public void run() { while(true) { System.out.println("Thread1 is Running . . ."); } } } package Demon; public class Thread2 extends Thread { @Override public void ru..