トップページ⇒tech
7コメント1KB

Sleepとusleep、timeGetTimeとgettimeofday

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 NGNG
SleepとtimeGetTimeをLinuxのAPIで実現する方法についてお聞きします。

現在の時間をmillisecondsで返すtimeGetTimeをLinuxで実現すると
long timeGetTime( void ){
timaval t;
gettimeofday( &t@` NULL );
return t.tv_usec;
}
で良いですか?

millisecond停止するSleepをLinuxで実現すると
void Sleep( long sleep ){
usleep( sleep * 1000 );
}
で良いですか?
誤りなどあったら教えて下さい。
0002名無しさん@お腹いっぱい。 NGNG
DWORDはunsigned int でしょう。
00031 NGNG
1です。
2さんどうもです。確かにそうですね。

timeGetTimeの方は間違っているみたいです。
manを見るとtv_usecはmicrosecondみたいだ、、、
うーむ。
00041 NGNG
いろんな環境に移植されてるインタプリタの時間関連の
ソースを見ればミリセカンドで時間を取得するヒントが
得られるかと思ったらそうでもなかったです。

RubyのAPI見ると「tv_usec」が。そのまんまか。。。
どうしたら良いものか、、、
00051 NGNG
誰か何かヒントくれませんか?
0006龍之介 NGNG
timeGetTime: (tv_usec/1000)に、timevalの秒以上のメンバを
すべてms単位で加算する。
Sleep: 符号の問題を除けばいいんでない。

それぞれオーバフローは適当に処理すること。
0007名無しさん@お腹いっぱい。 NGNG
pselectはダメ?ナノセコンド単位まで指定できるよ。(あくまで指定できるだけ。ワラ)
■ このスレッドは過去ログ倉庫に格納されています