Rust - 메모리를 덤프해서 slice와 Vec를 이해한다

출처 사전 준비 메모리 상에서 어떻게 되어 있는지 표현 되어 있는가를 확인하기 위해 아래 함수를 이용한다. 인수 x를 *const T로 캐스트하고, 생 포인터에서 std::mem::size_of_val(x)로 얻은 바이트 길이를 읽는다. fn as_raw_bytes<'a, T: ?Sized>(x: &'a T) -> &'a [u8] { unsafe {...
더 읽기

C++11 - 컨테이너에 참조 보관하기

std::reference_wrapper를 사용하면 컨테이너에 오브젝트의 참조를 보관할 수 있다. std::reference_wrapper는 <functional> 헤더를 사용한다. #include <iostream> #include <string> #include <vector> #include <functional> struct Base { void print() const { std::cout << "print" << std::endl; } }; struct Integer : Base { int...
더 읽기

선점형 스케쥴링(Preemptive Scheduling)과 협조적 스케줄링(Cooperative Scheduling) 비교

출처 선점형 스케줄링 모델과 협조적 스케줄링 모델은 여러 작업이 프로세서나 하드웨어 스레드 같은 컴퓨팅 리소스를 공유하도록 해주는 두 가지 일반적인 방법이다. 선점형 스케줄링 및 협조적 스케줄링 선점형 스케줄링은 지정된 시간 동안 모든 작업이 번갈아 가면서 컴퓨팅 리소스에 대한 독점적 액세스를...
더 읽기