본문 바로가기
반응형

비전공개발67

자바(Java) - 컬렉션 프레임워크 (List 컬렉션 1) 이전에 배열을 한적이 있다. 배열은 선언 시 정한 크기(저장 용량)를 변경할 수 없고, 항목을 저장, 삭제 , 추가하는 메소드가 없어 직접 인덱스를 사용해야 한다. 이러한 불편함을 해결하기 위해 자바는 컬렉션 프레임 워크를 제공한다. 컬렉션 프레임워크 (Collection Framework) 란, 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 구현클래스를 java.util 패키지에서 제공한다. 컬랙션(Colletion): 객체의 저장 프레임워크(Framework): 사용 방법을 정해놓은 라이브러리 컬렉션 프레임워크의 주요 인터페이스로는 List, Set, Map 세가지가 있다. 아래의 그림은인터페이스로 사용 가능한 컬렉션 클래스(구현 클래스)를 보여준다. List 컬렉션 배열과 비슷하게.. 2021. 1. 12.
자바(Java) - 스레드 제어2 스레드 상태제어 1을 이어서, dustink.tistory.com/95 자바(Java) - 스레드 제어1 스레드를 생성하고 시작하면 스레드는 다양한 상태를 갖게 된다. 스레드의 상태는 자동으로 변경될 수도 있고, 코드에 의해 변경될 수있다. 스레드 객체를 생성하고 start()메소드를 호출 하면 바 dustink.tistory.com 스레드 상태 제어 스레드의 안전한 종료 2. interrupt() 메소드를 이용하는 방법 interrupt()메소드는 스레드가 일시 정지 상태 일때 InterruptedException을 발생키는 역할을 한다. ThreadA가 ThreadB의 interrupt()메소드를 실행하면, ThreadB가 sleep()메소드가 일시 정지 상태가 될 때 ThreadB에서 Interru.. 2021. 1. 7.
자바(Java) - 스레드 제어1 스레드를 생성하고 시작하면 스레드는 다양한 상태를 갖게 된다. 스레드의 상태는 자동으로 변경될 수도 있고, 코드에 의해 변경될 수있다. 스레드 객체를 생성하고 start()메소드를 호출 하면 바로 실행되지 않고 실행 대기상태가 된다. 실행 대기에 있는 스레드 중 하나를 운영체제는 선택해서 실행 상태로 만든다. 실행 대기란, 언제든지 실행할 준비가 된 상태 이다. 실행 상태에서 run()메소드의 내용이 모두 실행되면 스레드의 실행이 멈추고 종료 상태가 된다. 스레드 상태 실행 대기 상태란, 메소드 호출 후 실행을 기다리고 있는 상태 이다. 실행 대기 상태에 있는 스레드 중에서 운영체제는 하나의 스레드를 선택하고 CPU가 run()메소드를 실행 하도록 한다. --> 실행 상태 실행 상태의 스레드는 run().. 2021. 1. 7.
자바(Java) - 스레드5 (동기화 메소드) 공유 객체를 사용할 때의 주의할 점 멀티 스레드 프로그램에서 스레드들이 객체를 공유해서 작업해야 하는 경우, 스레드 A가 사용하던 객체를 스레드 B가 상태를 변경할 수 있기 때문에 스레드 A가 의도한 것과는 다른 결과가 나올 수 있다. 혼공자 책의 그림을 보고 이해해보자. User1 스레드가 Calculator 객체의 momory필드에 100을 먼저 저장 2초간 일시정지 그 동안 User2스레드가 memory필드에 50을 저장 2초간 일시정지 2초가 지나 User1스레드가 다시 실행 되어 memory 필드 값을 출력하면, 100이 아닌 User2스레드가 저장한 50이 출력된다. 예시1) 공유 객체 사용 메인 스레드가 실행하는 코드 public class MainThreadEx { public static.. 2020. 12. 30.
자바(Java) - 스레드4 (스레드 이름) 작업 스레드 생성과 실행 멀티 스레드로 실행하는 애플리케이션을 개발하기 위해서는 몇개의 작업을 병렬로 실행하지 결정하고 각 작업별로 스레드를 생성해야 한다. 모든 자바 애플리케이션 메인 스레드는 반드시 존재하기 때무에 메인 작업 이외에 추가적인 병렬 작업의 수만큼 스레드를 생성하여 이용하면 된다. java.lang.Thread 클래스를 직접 객체화 해서 생성 가능 dustink.tistory.com/82 자바(Java) - 스레드2 (toolkit.beep(); 비프음 실행) 작업 스레드 생성과 실행 멀티 스레드로 실행하는 애플리케이션을 개발하기 위해서는 몇개의 작업을 병렬로 실행하지 결정하고 각 작업별로 스레드를 생성해야 한다. 모든 자바 애플리케이션 dustink.tistory.com Thread클래.. 2020. 12. 21.
자바(Java) - 스레드3 (toolkit.beep(); 비프음 실행) 작업 스레드 생성과 실행 멀티 스레드로 실행하는 애플리케이션을 개발하기 위해서는 몇개의 작업을 병렬로 실행하지 결정하고 각 작업별로 스레드를 생성해야 한다. 모든 자바 애플리케이션 메인 스레드는 반드시 존재하기 때무에 메인 작업 이외에 추가적인 병렬 작업의 수만큼 스레드를 생성하여 이용하면 된다. java.lang.Thread 클래스를 직접 객체화 해서 생성 가능 Thread클래스를 상속해서 하위 클래스를 만들어 생성 가능 Thread 하위 클래스로 부터 생성 작업 스레드가 실행할 작업을 Thread의 하위 클래스로 작업 스레드를 정의하여 작업 내용을 포함 할 수 있다. Thread 클래스를 상속한 후 run()메소드를 재정의해서 스레드가 실행할 코드를 작성하면 된다. public class Worker.. 2020. 12. 21.
728x90
반응형
LIST