본문 바로가기

스레드

(4)
2020.10.19 일자 수업 : 사용 사례, executor 프레임워크 요구사항 분석 - 사용 사례 Actor(who)가 이 시스템을 사용하여 달성하려는 업무 목표(what)를 Use-case(사용사례)라고 한다. 분석 설계 과정에서 use-case을 식별하는 것을 use-case identify라고 한다. 다음은 use-case을 식별할 때 사용되는 use-case의 조건이다. (개발할) 시스템을 사용해서 처리하는 업무 한 사람이 한 번에 한 순간에 수행하는 업무 예) 메일 전송 (메일 전송은 한 번에 한 순간에 하지 않을 수도 있다.) => 메일 임시보관 / 메일 전송 카운트가 가능한 단위로 업무를 쪼갠다. 업무의 시작과 끝이 명확하다. 이 조건에 따라 use-case의 적정 크기를 지정해야 한다. RUP 개발 프로세스에서는 2주에서 6주 안에 개발할 수 있는 규모를 u..
2020.10.20 일자 수업 : 스레드 풀, ExecutorService, DBMS 실습 - 스레드 풀 구현하기 git/eomcs-java-project/mini-pms-36-a 먼저 자바에서 제공하고 있는 ExecutorService 대신, 직접 ThreadPool를 구현하여 사용할 것이다. 일단 com.eomcs.pms.util.concurrent 패키지에 ThreadPool 클래스를 정의한다. ThreadPool에는 다음과 같은 멤버들이 있다. Worker : Thread를 상속받아 정의한 스레드 클래스 workers : Woker 객체들을 저장할 컬렉션 객체 execute(Runnable) : 스레드가 실행할 코드를 run메서드로 갖고 있는 Runnable을 파라미터로 넘겨받아 풀에서 Worker 하나를 꺼내어 실행시킨다. public class ThreadPool { boole..
2020.10.7 일자 수업 : 웹 서버, 채팅 프로그램, 스레드 실습 - 웹 어플리케이션 git/eomcs-java-basic/src/main com.eomcs.net.ex11.step13 원래의 계산기 서버는 자바 코드로 이뤄진 클라이언트가 직접 콘솔로 연결 요청해야 하는 어플리케이션이었다. 이 서버를 http 프로토콜 요청에 대해 적절히 응답할 수 있는 웹 서버 프로그램으로 바꿀 것이다. 이렇게 프로그램을 바꾸면 이 서버에 대한 클라이언트는 웹 브라우저가 된다. 기존 프로그램과 마찬가지로 클라이언트와 연결하는 역할만 수행하는 CalculatorServer와 클라이언트의 요청에 대한 응답을 하는 RequestProcessor 클래스를 그대로 사용한다. package com.eomcs.net.ex11.step13; import java.net.ServerSocket;..
2020.10.6 일자 수업 : 네트워크 실습, 계산기 서버 실습 - 네트워크 프로그램 git/eomcs-java-basic/src/main com.eomcs.net.ex11 Desktop App vs Network App java, eclipse와 같은 컴퓨터 안에서 실행될 수 있는 어플리케이션을 데스크탑 어플리케이션이라고 하며, 이메일 프로그램과 같이 이용자가 네트워크에 접속하여 사용하는 프로그램을 네트워크 어플리케이션이라고 한다. 데스크 탑 어플리케이션은 다음과 같은 특징이 있다. 로컬에 설치해야 사용 가능하다 버전이 바뀔 때마다 재설치해야 한다. 이용자들의 로컬에 모두 설치해줘야하므로 대량의 pc 관리가 힘들다. 네트워크 어플리케이션은 서버에서 돌아가고 있는 프로그램에 이용자가 접근하는 형태이므로, 이 프로그램을 실행하는 서버를 Application Ser..