기록은 기억을 이기고 시간보다 오래 남는다.
반응형

쓰레드 4

Lock 이란

만약 하나의 공유 자원에 여러 개의 쓰레드가 접근을 했을 경우그 자원의 값이 뒤죽 박죽이 될 수 있으니 한 쓰레드가 그 자원을 독점 할 수 있도록 도와 준다. Lock 구현 방법으로는 3가지가 있다. 1.Spin lock   - 이 방법은 해당 자원의 임계영역이 풀릴 떄 까지 무작정 기다리는 것을 말한다.   - 무식한 방법이지만 임계영역이 금방 풀릴 것이 기대가 있다면 사용하기 좋다.       하지만 임계영역이 풀리지 않는 다면 매우 비효율적이다.   - 하지만 cpu 점유가 높아 지고 다른 쓰레드를 방해할 수 있다.아래는 Spin lock의 예시이다.#include #include #include std::atomic_flag lock = ATOMIC_FLAG_INIT; // std::atomic_..

[c++] fetch_add() 함수

fetch_add()는 원자적(atomic) 연산 중 하나입니다. C++11에서 추가된 C++ 표준 라이브러리의 std::atomic 클래스의 멤버 함수 중 하나로, 특정 변수에 대한 원자적인 덧셈 연산을 수행합니다. fetch_add()는 특정 변수의 값을 가져온 후에 해당 변수에 인자로 전달된 값을 더하고, 그 결과를 반환합니다.  이 과정에서 해당 변수는 다른 스레드에 의해 변경되지 않는 원자적인 연산이 보장됩니다. 예를 들어, 다음 코드는 x 변수에 대해 fetch_add() 함수를 사용하여 1을 더하는 코드입니다. 위 코드는 x 변수의 값을 1 증가시키고, 그 결과를 result 변수에 저장합니다.fetch_add() 함수는 원자적 연산이므로 다른 스레드가 x 변수를 변경하더라도결과에는 영향을 ..

쓰레드 [thread/THREAD]

쓰레드는 과거에는 표준화가 되어 있지 않았지만현제는 모던 c++에 포함이 되어 있어 #include 헤더를 선언해주면리눅스에서 따로 작업할 필요가 없이 사용가능 하다. thread 객체를 만드는 방법은 아래와 같다.std::tread t; 이 함수들은 C++11에서 제공되는 스레드 클래스의 멤버 함수들이다.hardware_concurrency()함수는 시스템에서 동시에 실행할 수 있는 최대 스레드 수를 반환get_id()스레드 객체의 고유 식별자를 반환detach()스레드 객체를 따로 분리시켜서 실행. 분리된 스레드는 부모 스레드와 독립적으로 실행joinable()함수는 스레드 객체가 join() 함수를 호출할 수 있는지 여부를 반환join()스레드가 종료될 때까지 기다린 후 스레드의 종료를 기다립니다.

게임 서버 개발자 채용 프로세스

게임 회사 채용 프로세스 서류 단계 a.스펙 b.자소서 c.포트폴리오 -눈에 확연하게 뛰면 좋음 -장황하게 쓸 필요가 없음 -위 하나하나를 세세하게 볼 수 없음 기술 면접 a. 과제/ 코딩 시험 등 b. 필기 시험 c. 기술 면접 3. 인사팀 면접 a. 인성 면접 b. 처우 혐의 c. 왠만 하면 떨어 지지 않음 프로그래머 일 처내야 할 메인 컨텐츠 버그 수정 긴급 수정 사항 기획자와 서로의 입장을 이해하는 것이 중요함 면접 (전문 면접관이 면접하는 경우가 잘 없음)

게임 서버 2023.02.14
반응형