Skip to content

Commit

Permalink
refactor: new Thread()로 생성하던 스레드를 스레드풀로 변경
Browse files Browse the repository at this point in the history
  • Loading branch information
nuyh99 committed Sep 11, 2023
1 parent d01521f commit 4220ff4
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions tomcat/src/main/java/org/apache/catalina/connector/Connector.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,37 @@
import java.io.UncheckedIOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

public class Connector implements Runnable {

private static final Logger log = LoggerFactory.getLogger(Connector.class);

private static final int DEFAULT_PORT = 8080;
private static final int DEFAULT_ACCEPT_COUNT = 100;
private static final int DEFAULT_MAX_THREADS = 10;
private static final int DEFAULT_CORE_THREADS = 0;
private static final int DEFAULT_THREAD_ALIVE_SECONDS = 10;

private final ServerSocket serverSocket;
private final ThreadPoolExecutor threadPoolExecutor;

private boolean stopped;

public Connector() {
this(DEFAULT_PORT, DEFAULT_ACCEPT_COUNT);
this(DEFAULT_PORT, DEFAULT_ACCEPT_COUNT, DEFAULT_MAX_THREADS);
}

public Connector(final int port, final int acceptCount) {
public Connector(final int port, final int acceptCount, final int maxThreads) {
this.serverSocket = createServerSocket(port, acceptCount);
this.stopped = false;
this.threadPoolExecutor = new ThreadPoolExecutor(DEFAULT_CORE_THREADS,
maxThreads,
DEFAULT_THREAD_ALIVE_SECONDS,
TimeUnit.SECONDS,
new LinkedBlockingDeque<>(maxThreads));
}

private ServerSocket createServerSocket(final int port, final int acceptCount) {
Expand Down Expand Up @@ -67,7 +80,7 @@ private void process(final Socket connection) {
return;
}
var processor = new Http11Processor(connection);
new Thread(processor).start();
threadPoolExecutor.execute(processor);
}

public void stop() {
Expand Down

0 comments on commit 4220ff4

Please sign in to comment.