본문 바로가기

Java/기초12

[java] 스레드(Thread)[3] - 스레드 우선순위를 설정하는 방법 스레드를 여러개 제작하여 실행하면 여러 메서드를 병행적으로 실행할 수 있어서 프로세스의 성능을 높일 수 있지만, 스케줄러의 프로세스 실행 상황에 따라 예측 하기가 어렵습니다. 스레드가 먼저 시작했다고 우선순위를 가지는 것도 아니고, 먼저 시작한 스레드가 더 늦게 끝날 수도 있습니다. 또한 자원 상황에 따라 스레드가 실행되지 못하고 대기 상태로 남아있을 수도 있습니다. 그렇기 때문에 스레드의 중요도에 따라 우선순위를 정하는 것이 필요합니다. 하지만 이 스레드의 우선순위는 다중 cpu 환경, 또는 멀티코어 환경에서는 무의미합니다. 우선순위를 정하고 싶다면 join() 메서드를 사용하는 것을 권장드립니다 이 예제의 실행환경은 멀티코어 스레드이기 때문에, 실행 결과보다는 설정 방법을 확인하는 용도로 참고만 해주.. 2019. 7. 27.
[java] 스레드(Thread)[2] - Runnable을 이용하여 구현하는 방법 스레드를 만드는 방법 중 black-box 방법으로 알려진 Runnable 인터페이스를 구현하는 방법에 대해 알아보겠습니다. 스레드를 만드는 방법은 white-box방법과 black-box방법이 있습니다. white-box방법은 java.lang.Thread 객체를 extend하여 만드는 것이고, black-box 방법은 java.lang.Runnable 인터페이스를 implements 하여 만드는 것입니다. white-box방식으로 제작한 스레드는 컴파일 타임 시점에 형식이 결정되어 동적인 기능 변경이 불가능하다는 단점이 있습니다. 반면 스레드를 Runnable객체로 만들게 되면 스레드를 상속받아 만드는 white-box방식에 비해 어플리케이션의 유연성과 확장성을 보장받을 수 있게 됩니다. Runnab.. 2019. 7. 27.
[java] 스레드(Thread)[1] - run()과 start()의 차이 Thread란? 독립적으로 수행 가능한 메인 프로세스 또는 메인 프로세스 외의 기타 프로세스의 기저 입니다. 하나의 프로세스 내에서 실행하는 병행 메서드의 단위로, 어플리케이션의 스레드가 모두 종료되면 해당 어플리케이션이 종료됩니다. java 프로그램을 시작할 때 사용하는 main 메서드 또한 스레드입니다. Thread 생성 방법 Thread는 white-box방식과 black-box 방식으로 생성할 수 있습니다. white-box 방식 - java.lang.Thread 클래스를 상속받아서 생성하는 방식입니다. white-box thread example(run()) package example; public class ThreadTest extends Thread{ String name; public .. 2019. 7. 27.