목록전체 글 (253)
bdfgdfg
5543번 #include #include #include using namespace std; int main() { vector burgerPrice; vector drink; burgerPrice.resize(3); drink.resize(2); for (int i = 0; i > burgerPrice[i]; } for (int i = 0; i > drink[i]; } cout hour1 >> minute1 >> second1 >> hour2 >> minute2 >> second2; if (second2 - second1 >= 0) resSecond = second2 - second1; else { --minute2; if (minute2..
IOCP - 입출력 완료 포트란 의미 - 입/출력 작업에 대한것을 처리해주는 오브젝트. - IOCP도 커널오브젝트. 입출력 작업과 관련있는 핸들에서 발생하는 이벤트를 커널단에서 관리해줌. -> 단 모든 입출력 핸들이 사용가능한것은 아니고, 입출력 핸들이 비동기 작업이 가능해야한다. -> 그 이유는 비동기 입출력이 가능한 핸들의 이벤트를 IOCP가 대신 처리해주기 때문 -> 즉 우리는 IOCP에게 작업을 맡겨두고 결과만을 우리가 나중에 확인하면 된다. (비동기방식) IOCP의 동작 - IOCP는 메인 프로세스와 별도로 동작한다. - 현재 입/출력 작업이 어떻게 진행되고 있는지 작업 프로세스에서는 알 필요가없다. -> 단지 작업의 결과만을 통보받는다 (우리가 나중에 확인한다) 참고 동기 입출력 vs 비동기 ..
쓰레드 - 운영체제 관점에서의 실행단위는 프로세스. 쓰레드는 그 프로세스 내부의 실행 흐름 - 쓰레드는 O/S에서의 스케줄링 단위 (CPU의 작업단위) - 메인 쓰레드(main함수에 진입하는 쓰레드 OS를 통해 하나 할당)를 포함한 둘 이상의 쓰레드를 멀티쓰레드라 함. - 컨텍스트 스위칭이 일어나는 대상은 쓰레드(Thread) 생성방법 CreateThead or _beginThreadex함수 호출. 인자값으로 보안,스택크기,쓰레드진입함수,쓰레드에 넘겨줄 인자값,쓰레드 상태,쓰레드 ID값 -> _beginThreadex함수가 C표준함수 (HANDLE로 변환필요) 객체 동기화 둘 이상의 쓰레드가 공유자원(쓰레드는 스택 메모리를 제외한 프로세스의 나머지 메모리영역을 공유한다) 에 동시접근하여 값의 수정등을 할..
프로토콜(Protocol) - 네트워크에서의 프로토콜은 두 개체간의 통신 규약을 의미. -> 어떤 행위를 어떻게 요청하고 명령하는지를 정한 일종의 약속 -> TCP와 UDP도 프로토콜(하나의 통신규약) -->다만 TCP와 UDP는 응용계층의 아래인 전송계층단계(즉 하위단계)에서 작동되어지므로 신경을 써줄 필요가 없다. -> 이 외에도 두 프로그램 사이에서 어떤 행위를 요청하거나 명령하기 위한 규칙을 정하는데 이것을 프로토콜이라한다. 패킷(Packet) - 네트워크에서 정의하는 패킷은 통신에서 하나의 데이터가 오고 가는 단위를 의미. - 서버와 클라잉너트는 수많은 작업 요청과 명령이 오가면서 통신을 이룸. -> 우리는 이러한 통신을 위해 프로토콜을 정의하고 그것을 전송할 수 있도록 포장을 해주어야 한다. ..