리눅스에서 GetTickCount()와 동등함
저는 리눅스와 동등한 것을 찾고 있습니다.
현재 저는 에 호출하는 것으로 추정되는 파이썬을 사용하고 있습니다. 제 우려는 NTP와 같이 시계가 엉망이 되면 반환된 시간(유닉스 에포크)이 불규칙하게 변경될 수 있다는 것입니다.일정한 속도로 양의 값만 증가하는 간단한 공정 또는 시스템 벽 시간이면 충분합니다.
C나 파이썬에 그런 시간 함수가 있습니까?
C:에서 CLOCK_MONOTONIC을 사용할 수 있습니다.
struct timespec ts;
if(clock_gettime(CLOCK_MONOTONIC,&ts) != 0) {
//error
}
Python 방식에 대해서는 이 질문을 참고하십시오. 파이썬에서 모노톤 시간을 얻으려면 이 질문을 참조하십시오.
작동하는 것 같습니다.
#include <unistd.h>
#include <time.h>
uint32_t getTick() {
struct timespec ts;
unsigned theTick = 0U;
clock_gettime( CLOCK_REALTIME, &ts );
theTick = ts.tv_nsec / 1000000;
theTick += ts.tv_sec * 1000;
return theTick;
}
예, get_tick()은 내 응용프로그램의 백본입니다.각 '태스크'마다 하나의 상태 머신으로 구성되어 스레드를 사용하지 않고 멀티태스킹이 가능하며 프로세스 간 통신은 비차단 지연을 구현할 수 있습니다.
다음을 사용해야 합니다.clock_gettime(CLOCK_MONOTONIC, &tp);
. 이 호출은 Windows(윈도우)의 GetTickCount()와 마찬가지로 시스템 시간 조정의 영향을 받지 않습니다.
네, 커널은 고해상도 타이머가 있지만 다릅니다.나는 당신이 이것을 휴대용 방식으로 포장하는 이상한 프로젝트의 출처를 살펴보는 것을 추천합니다.
C/C++부터 저는 주로#ifdef
이것과 용도gettimeofday()
마이크로초 해상도를 제공하는 리눅스 상에서.나는 나에게 두 배를 주는 것을 받기 때문에 종종 이것을 초 단위로 추가합니다.
언급URL : https://stackoverflow.com/questions/2958291/equivalent-to-gettickcount-on-linux
'programing' 카테고리의 다른 글
Oracle Alter 명령을 사용하여 기존 Column 오류 링의 이름을 변경합니다. (0) | 2023.10.29 |
---|---|
Angular2 - HTTP Request Options 헤더 (0) | 2023.10.29 |
.js 파일 대 CDN 번들링 (0) | 2023.10.29 |
변경 시 선택한 값/텍스트 가져오기 (0) | 2023.10.29 |
서로 다른 두 사용자 테이블 간에 워드프레스 사이트 공유 (0) | 2023.10.29 |