
다른 컴퓨터에서 연결이 가능하도록 대기 상태로 상시 실행중인 프로그램ㄴ 예) 손님이 올 수 있도록 식당을 열고 대기 중인 상태.ㄴ 손님이 오면 식당 메뉴/정책에 따라 서비스를 제공하는 식당과 같은 개념ex. 테이크 아웃 포장 전문 식당ㄴ 손님이 음식을 받아서 떠나면 그

Visual Studio - '콘솔 앱'으로 프로젝트 새로 만들기 (최상위문 사용 안함 체크) 프로젝트명: Server솔루션에 프로젝트 2개 추가: ServerCore/DummyClient DummyClient: Unity연동을 하지 않고 테스트를 하면서 대신 Clie

쓰레드 2개로 만들기While문으로 MainThread() 무한 실행IsBackground = true;로 쓰레드를 백그라운드에서 실행하도록 만듦지금처럼 Thread를 new로 할당하여 사용하는 것은 식당에서 정직원을 채용하는 것만큼의 부담이 된다. 이에 알바 개념의

기본적으로는 Debug모드로 설정되어있는데, 실제로 게임을 배포하는 등의 작업을 하게 되면 Release 모드로 설정하여 작업하게 된다.Release모드를 사용하면 자동으로 최적화 기능이 추가되는데, 이로 인해서 멀티쓰레드 기능이 꼬이는 버그가 주로 발생한다.위와 같

캐시 메모리는 메모리의 일부를 복사하여 저장한다. 무엇을 저장할까?→ CPU가 사용할 법한 대상을 예측하여 저장!캐시 히트(cache hit): 자주 사용될 것으로 예측한 데이터가 실제로 들어맞아 캐시 메모리 내 데이터가 CPU에서 활용된 경우캐시 미스: 예측이 틀려

아무리 생각해봐도 r1과 r2 모두 0이 나올 수 있는 경우의 수가 없다.어떻게 0이 되어서 무한루프를 빠져나올 수 있었을까?멀티스레딩과 동시성: 멀티스레드 프로그램에서 여러 스레드가 동시에 실행되며, 이들의 실행 순서는 운영 체제의 스케줄러에 의해 결정된다. 이로 인

Race condition이란?두 개 이상의 프로세스나 스레드가 공유된 데이터에 동시에 접근하려고 할 때, 그 순서에 따라 실행 결과가 달라질 수 있는 상황을 말한다. 즉, 공유된 자원에 대한 접근 순서가 결과에 영향을 미치는 상황.주요 문제는 number++와 nu

앞선 포스팅에서 데드락 현상에 대해 가볍게 살펴봤다. 데드락(Deadlock)은 컴퓨터 과학에서 여러 프로세스나 스레드가 서로를 무한히 기다리는 상태를 말한다. 이 상태에서는 모든 관련 프로세스나 스레드가 정지 상태에 빠져, 작업을 계속할 수 없게 된다. 데드락은 일반

멀티쓰레드 프로그래밍에서 락은 많은 부분을 차지할 정도로 매우 중요하기 때문에,락의 동작을 이해하는 것이 중요하다. 멀티쓰레드 프로그래밍에서 사용되는 락의 종류SpinLock: 스레드가 락을 획득할 수 있을 때까지 반복적으로 락의 상태를 확인하면서 '회전(spin)'하