분류 전체보기 (1605) 썸네일형 리스트형 synchronized 를 이용한 스레드의 동기화 스레드의 동기화란. 한 스레드가 특정작업을 끝마치기 전까지 다른 스레드에 의해 방해받지 않도록 하는것. 자바에서는 synchronized블럭을 이용해서 스레드의 동기화를 지원했지만 jsk1.5부터 java.util.concurrent,locks와 java.util.concurrent,atomic패키지를 통해 다양한 방식의 동기화가 가능하다. 예시에서 `Counter` 클래스의 `increment` 메서드와 `decrement` 메서드는 `synchronized` 키워드를 사용하여 동기화된다. 이를 통해 여러 스레드가 동시에 `increment` 또는 `decrement` 메서드를 호출할 때, 스레드 간 경쟁이 발생하지 않고 안전하게 카운터 값을 조작할 수 있다. class Counter { private.. 스레드의 스케줄링/실행제어, 스레드의 상태를 지정하다. 스레드의 실행제어 스레드 프로그래밍은 어렵다. 동기화, 스케줄링때문인데 앞서 우선순위를 통해 스레드간의 스케줄링을 하는 방법이 있었으나, 한참 부족하다. https://standout.tistory.com/1422 스레드의 우선순위 setPriority() 앞서 스레드를 생성하여 start해 봤다. https://standout.tistory.com/1421 스레드 구현과 실행 + 싱글쓰레드와 멀티쓰레드: start()와 run() 앞서 스레드에 대해 알아봤다. 프로세스는 공장이라면 스레드는 일 standout.tistory.com 스레드의 스케줄링과 관련된 메서드는 다음과 같다. static void sleep(long millis) 현재 실행 중인 스레드를 주어진 시간(밀리초) 동안 일시 정지시킵니다.. getState(), 스레드의 상태 확인하기 스레드의 상태는 getState()메서드를 통해 확인할 수 있다. NEW 스레드가 생성됨. start()가 호출되지않은 상태 RUNNABLE 실행 중 또는 실행가능한 상태 BLOCKED 동기화블럭에의 의해 일시정지된 상태 WAITING 작업이 종료되지는 않았으나 일시정지상태 TIMED_WAITING 작업이 종료되지는 않았으나 일시정지상태 + 일시정지시간이 지정된 경우 TERMINATED 작업이 종료된 상태 두 개의 스레드를 생성하고, 스레드의 상태를 확인하여 그에 맞는 동작을 수행하는 방법이다. public class ThreadStateExample { public static void main(String[] args) { Thread thread1 = new Thread(() -> { try { T.. 로그 파일을 주기적으로 청소하기, 데몬 스레드의 구현과 실행 데몬 스레드는 다른 일반스레드의 작업을 돕는 보조적인 역할 일반스레드가 모두 종료되면 데몬 스레드는 강제적으로 종료된다. 데몬스레드의 예로는 가비지 컬렉터, 워드프로세서의 자동저장, 화면자동갱신 등이 있다. 무한루프와 조건문을 이용해서 실행 후 대기하고있다가 특정 조건이 만족되면 작업을 수행하고 다시 대기한다. 일반스레드와 작성, 실행방법이 같으나 실행하기전에 setDaemon을 호출하기만하면된다. https://standout.tistory.com/1421 스레드 구현과 실행 + 싱글쓰레드와 멀티쓰레드: start()와 run() 앞서 스레드에 대해 알아봤다. 프로세스는 공장이라면 스레드는 일꾼이라 생각하면 된다. https://standout.tistory.com/498 프로세스/스레드 방식 프로세스.. 보안상의 이유로 도입된 스레드 그룹: 서로 관련된 스레드를 그룹으로! 스레드 그룹은 서로 관련된 스레드를 그룹으로 다루기 위한 것. 스레드그룹은 보안상의 이유로 도입된 개념 자신이 속한 스레드 그룹이나 하위 스레드 그룹이 아니라면 다른 스레드 그룹의 스레드는 변경할 수 없다. ThreadGroup(Spring name) 지정된 이름을 가진 새로운 스레드 그룹을 만듭니다. 이 생성자를 사용하면 새로운 스레드 그룹을 만들고 해당 그룹의 이름을 설정할 수 있습니다. ThreadGroup group = new ThreadGroup("ExampleGroup"); System.out.println("Thread group created with name: " + group.getName()); 출력 결과 예시:Thread group created with name: ExampleGr.. Excel 엑셀 행/열 숨기기: 보여주는 페이지를 설정/제한해 불필요한 스크롤을 줄이다. 수령받은 엑셀폼에 매주 주간보고를 작성할때 아쉬운점을 보완했었다. https://standout.tistory.com/728 전주실적, 금주계획 월~금 날짜(월/일) 추출하기 =MONTH(TODAY()) 현재날짜기준으로 월~ 금을 추출하자. =TEXT(TODAY()-WEEKDAY(TODAY(),2)+1,"YYYY년 MM월 DD일")&" ~ "&TEXT(TODAY()-WEEKDAY(TODAY(),2)+5,"YYYY년 MM월 DD일") n월달 계획 등으로 월만 필요한경우엔 =MONTH(TODAY()) & standout.tistory.com 이후 각 구성원의 화면을 띄워 함께 공유하며 브리핑하며 주간보고를 진행하는 중, 엑셀을 띄워주시는 분이 불편해하는 부분을 보완했었는데, https://standout.t.. 스레드의 우선순위 setPriority() 앞서 스레드를 생성하여 start해 봤다. https://standout.tistory.com/1421 스레드 구현과 실행 + 싱글쓰레드와 멀티쓰레드: start()와 run() 앞서 스레드에 대해 알아봤다. 프로세스는 공장이라면 스레드는 일꾼이라 생각하면 된다. https://standout.tistory.com/498 프로세스/스레드 방식 프로세스: 공장 스레드: 일꾼 프로세스 방식 매번 새로 standout.tistory.com 이때 두 개의 쓰레드가 서로 독립적으로 실행되기 때문에 종료 메시지가 어떤 순서로 출력될지 정확히 예측할 수 없다. 종료 메시지는 실행 환경 및 운영 체제에 따라 다를 수 있다. 라는것을 알게되었는데 우선순위를 정할 수 있을까? 스레드의 우선순위는 스레드 스케줄러에게 해당 .. 스레드 구현과 실행 + 싱글쓰레드와 멀티쓰레드: start()와 run() 앞서 스레드에 대해 알아봤다. 프로세스는 공장이라면 스레드는 일꾼이라 생각하면 된다. https://standout.tistory.com/498 프로세스/스레드 방식 프로세스: 공장 스레드: 일꾼 프로세스 방식 매번 새로운 프로세스를 생성하여 처리하는 방식 멀티태스킹을 지원하지만 메모리 사용량이 더 크고, 프로세스 간의 통신이 필요하기 때문에 오버 standout.tistory.com https://standout.tistory.com/634 멀티 프로세스와 멀티 스레드 앞서 프로세스와 스레드에 대해 알아봤다, 필요하다면 다시 복습해보자. https://standout.tistory.com/498 프로세스/스레드 방식 프로세스 방식 매번 새로운 프로세스를 생성하여 처리하는 방식 멀티태 standout.t.. 이전 1 ··· 24 25 26 27 28 29 30 ··· 201 다음