localtime_r 3

[time] Linux - UTC vs Unix Time vs Local time의 차이

1. UTC(Universal Time, Coordinated) 1) 정의 - 세슘 원자 진동수 기반의 표준시, 협정 세계시 - GMT가 조금씩 늦어지는 지구 자전의 영향을 받기 때문에 새로 재정된 표준시입니다. 2) UTC와 비교되는 GMT(Greenwich Mean TIme)란? - GMT 런던 외곽에 있는 그리니치 천문대를 기준으로 하는 평균 태양시로, 그리니치 표준시라고 부릅니다. 그리니치 천문대가 경도 0에 위치해 있기 때문에 이를 기준으로 한 것인데, 1925년 2월 5일부터 1972년 1월 1일 까지 세계 표준시로 사용되었습니다. 3) UTC와 GMT 차이점 - UTC와 GMT는 초의 소숫점 단위에서만 차이가 납니다. 2. Unix Time (=Epoch Time) 1) 정의 - UTC 시간..

[C++ 개발자되기] 14. millisecond시간 구하기

>>[C++ 관련 모든 글 보기] 1. 목표 millisecond단위 까지 시간 구하기, 사용하는 함수는 C함수 입니다. 2. 필요 헤더 1) #include - localtime_r() 사용을 위해 필요 - ftime() 에서 필요 - strftime() 에서 필요 2) #include - struct timeb 에서 필요로함 3. 필요 함수 1) void ftime(struct *timeb); - millisecond 까지 시간을 구하는 함수 2) struct tm *localtime_r(const time_t *timep, struct tm *result); - 지역 시간을 구하는 함수 4. 구조체 정보 1) struct tm #include // C++ 에서는 struct tm { int tm_s..

ProgrammingLang/c++ 2020.02.02

[Multi thread] Multi thread 에서 localtime 문제

1. 목표 multi thread에서 시간을 관리하는 방법을 알아 보겠습니다. 꼭 C++에 만 해당되는 내용은 아닙니다. C library를 사용한다면 발생 합니다. 2. multi thread에서의 시간 함수 사용시 주의해야 할 사항 multi thread 환경에서 gmtime() 함수와 localtime() 함수를 같이 사용하면 시간 값에서 충돌이 발생 합니다. 왜냐하면 내부적으로 gmtime과 localtime는 같은 시간 변수를 공유 하기 때문에 문제가 발생 합니다. 이걸 방지 하기위해서 C Library에서는gtime_r() 과 localtime_r()을 제공 합니다. 이 함수들은 내부적으로 "시간 변수" 서로 유 하지 않습니다. 1) 증명 (1) 코드 #include #include int m..