* 45. 자바 스레드풀 적용하기 - Excutor 사용법
생성했던 Thread 를 버리지 않고 리스트에 저장해둔다.
* 자바 스레드풀 종료시키기
package com.eomcs.concurrent.ex7
Exam0110 ~ Exam0520 복습하기
(adps신청하느라 못함)
* 45. 자바 스레드풀 적용하기 - Excutors/ExcutorService
public void execute() throws Exception {
System.out.println("[MyList 서버 애플리케이션]");
this.serverSocket = new ServerSocket(port);
System.out.println("서버 실행 중...");
while (true) {
Socket socket = serverSocket.accept();
threadPool.execute(new Runnable() {
@Override
public void run() {
processRequest(socket);
}
});
}
}
Executor 인터페이스를 구현한 ThreadPoolExecutor 클래스를 사용하여 클래스를 생성한다.
익명 클래스를 사용하여 Runnable 인터페이스를 구현하고 있는 객체를 생성해준다.
이 익명 클래스는 외부 클래스의 변수인 socket을 받아들이고,
해당 socket을 processRequest() 메서드에 전달하여 작업을 실행한다.
즉, 외부에서 전달된 socket을 이용하여 비동기적으로 작업을 처리하는
익명 클래스 객체가 생성되는 것이다.
* 익명클래스 짚어가기
익명 클래스(anonymous class)는 중첩 클래스(nested class) 중 하나입니다.
중첩 클래스는 다른 클래스 내부에 정의된 클래스를 의미하며,
익명 클래스는 중첩 클래스의 한 유형입니다.
중첩 클래스에는 정적 중첩 클래스(static nested class), 비정적 중첩 클래스(inner class),
지역 중첩 클래스(local inner class) 및 익명 클래스가 포함됩니다.
이 중 익명 클래스는 이름이 없는 중첩 클래스로, 클래스 정의와 인스턴스 생성을 동시에 처리합니다.
익명 클래스는 주로 인터페이스나 추상 클래스의 구현체로 사용됩니다.
익명 클래스를 사용하여 인터페이스나 추상 클래스의 메서드를 구현하고,
해당 클래스의 인스턴스를 생성하여 사용할 수 있습니다.
이렇게 하면 인터페이스나 추상 클래스의 구현체를 즉석에서 생성하고 사용할 수 있으며,
코드를 간결하게 유지할 수 있습니다.
* 46. 자바 DBMS 도입하기
* DBMS 에 데이터 처리를 요청하기
* mysql 설치
https://dev.mysql.com/downloads/file/?id=518835
* mysql 환경변수 설정
설치 후 버전확인
* mysql 서버
* Mysql 명령
mysql -u study -p // user&password