일반적으로는 싱글 스레드보다 멀티 스레드가 더 빠르다고 생각합니다. 실제로도 혼자 일하는 것보다 여러 사람이 함께 일하는 편이 더 많은 일을 처리할 수 있습니다. 하지만 우리가 간과하기 쉬운 사실이 하나 있습니다. 바로 락(Lock) 입니다. 멀티 스레드는 여러 작업을 동시에 처리할 수 있지만, 공유 자원에 접근하는 순간 락이 발생합니다. 락 경쟁이 심해질수록 스레드는 대기하거나 문맥 교환을 반복하게 되고, 기대했던 성능 향상을 얻지 못하는 경우도 적지 않습니다. 그렇다면 락을 사용하는 멀티 스레드보다, 락 자체가 필요 없는 싱글 스레드가 더 효율적일 수도 있지 않을까요? 오늘날 Redis, Nginx, Node.js처럼 싱글 스레드 기반의 이벤트 루프를 활용하는 기술들은 이러한 질문에 대한 하나의 답을..