Linux の usleep と sleep の違いは何ですか?
Linux における usleep と sleep の違い: sleep 関数は、指定された秒数の間一時停止を実行するために使用され、usleep 関数は指定されたマイクロ秒数の間一時停止を実行するために使用されます。 sleep は非システム コールであり、ライブラリ関数に実装されており、alarm() を使用してアラーム時刻を設定します。usleep は、時間単位がマイクロ秒であることを除いて、sleep と同様に使用されます。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux における usleep と sleep の違いは何ですか
(1) sleep()------秒単位
Headファイル:
#include <windows.h> // 在VC中使用带上头文件 #include <unistd.h> // 在gcc编译器中,使用的头文件因gcc版本的不同而不同
機能: 指定した秒数の一時停止を実行
構文:
unsigned int sleep(unsigned int seconds);
sleep() はシステムコールではなく、sleep() はライブラリ内にあります関数 これは、alarm() を使用してアラーム時間を設定し、sigsuspend() を使用してシグナル SIGALARM のプロセスを一時停止することによって実装されます。
sleep() は第 2 レベルまでしか正確ではありません。 sleep() は、秒パラメータで指定された時間に達するか、シグナルによって中断されるまで、現在のプロセスを一時停止します。
#include
return: プロセスが秒パラメーターで指定された時間まで中断された場合、成功すると 0 が返されます。信号の中断がある場合、残りの秒数が返されます。
例:
#include <windows.h> #include<stdio.h> int main() { int a; a=1; printf("hello"); sleep(a); /* VC 使用Sleep*/ printf("world"); return 0; }
(2) usleep()----マイクロ秒単位
ヘッダー ファイル:
#include <unistd.h>
機能: usleep 関数は、一定期間プロセスを一時停止します。単位はマイクロ秒 (100 万分の 1 秒) です。
構文:
void usleep(int micro_seconds);
ただし、時間の単位はマイクロ秒以外です。使用方法は sleep() に似ています。また、実装も異なり、sleepはalarmで実装しているため時間単位がsですが、usleepの時間単位はus
であり、alarmでは絶対に実装されていないため、実装が異なります。 . ですが、sleep と usleep の両方が unistd.h で定義されているため、これらはすべて Linux では使用されますが、Windows では使用できません。
#include
return: プロセスが秒パラメーターで指定された時間まで中断された場合、成功すると 0 が返されます。信号の中断がある場合、残りのマイクロ秒が返されます。
戻り値: なし
内容説明: プログラムの実行を一時停止することができる関数です。パラメータ micro_seconds は、一時停止するマイクロ秒数 (us) です。
注:
この機能は Windows オペレーティング システムでは動作しません。 Linux のテスト環境で使用されます。
参照: usleep() は sleep() に似ており、一時停止されたプロセスを遅らせるために使用されます。プロセスは一時停止され、再実行キューに入れられます。
通常、遅延時間が秒単位の場合は、可能な限り sleep() 関数を使用してください。
遅延時間が数十ミリ秒 (1ms = 1000us) 以下の場合は、可能であれば usleep() 関数を使用してください。このようにして、CPU 時間を最大限に活用できます。
推奨される学習: Linux ビデオ チュートリアル
以上がLinux の usleep と sleep の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Linuxは、サーバー、開発環境、埋め込みシステムに適しています。 1.サーバーオペレーティングシステムとして、Linuxは安定して効率的であり、多くの場合、高電流アプリケーションの展開に使用されます。 2。開発環境として、Linuxは効率的なコマンドラインツールとパッケージ管理システムを提供して、開発効率を向上させます。 3.埋め込まれたシステムでは、Linuxは軽量でカスタマイズ可能で、リソースが限られている環境に適しています。

Apacheを開始する手順は次のとおりです。Apache(コマンド:sudo apt-get install apache2または公式Webサイトからダウンロード)をインストールします(linux:linux:sudo systemctl start apache2; windows:apache2.4 "serviceを右クリックして「開始」を右クリック) (オプション、Linux:Sudo SystemCtl

Apache 80ポートが占有されている場合、ソリューションは次のとおりです。ポートを占有するプロセスを見つけて閉じます。ファイアウォールの設定を確認して、Apacheがブロックされていないことを確認してください。上記の方法が機能しない場合は、Apacheを再構成して別のポートを使用してください。 Apacheサービスを再起動します。

この記事では、Debianシステム上のNginxサーバーのSSLパフォーマンスを効果的に監視する方法について説明します。 Nginxexporterを使用して、NginxステータスデータをPrometheusにエクスポートし、Grafanaを介して視覚的に表示します。ステップ1:NGINXの構成最初に、NGINX構成ファイルのSTUB_STATUSモジュールを有効にして、NGINXのステータス情報を取得する必要があります。 NGINX構成ファイルに次のスニペットを追加します(通常は/etc/nginx/nginx.confにあるか、そのインクルードファイルにあります):location/nginx_status {stub_status

Oracleリスナーを開始する手順は次のとおりです。Windowsのリスナーステータス(LSNRCTLステータスコマンドを使用)を確認し、LinuxとUNIXのOracle Services Managerで「TNSリスナー」サービスを開始し、LSNRCTL Startコマンドを使用してリスナーを起動してLSNRCTLステータスコマンドを実行してリスナーを確認します。

この記事では、デビアンシステムでリサイクルビンを構成する2つの方法を紹介します:グラフィカルインターフェイスとコマンドライン。方法1:Nautilusグラフィカルインターフェイスを使用して、ファイルマネージャーを開きます。デスクトップまたはアプリケーションメニューでNautilusファイルマネージャー(通常は「ファイル」と呼ばれる)を見つけて起動します。リサイクルビンを見つけてください:左ナビゲーションバーのリサイクルビンフォルダーを探してください。見つからない場合は、「他の場所」または「コンピューター」をクリックして検索してみてください。リサイクルビンプロパティの構成:「リサイクルビン」を右クリックし、「プロパティ」を選択します。プロパティウィンドウで、次の設定を調整できます。最大サイズ:リサイクルビンで使用可能なディスクスペースを制限します。保持時間:リサイクルビンでファイルが自動的に削除される前に保存を設定します

Apacheサーバーを再起動するには、次の手順に従ってください。Linux/MacOS:sudo systemctl restart apache2を実行します。 Windows:Net Stop apache2.4を実行し、ネット開始apache2.4を実行します。 Netstat -A |を実行しますサーバーのステータスを確認するには、STR 80を見つけます。

Debian Systemsでは、Directoryコンテンツを読み取るためにReadDirシステム呼び出しが使用されます。パフォーマンスが良くない場合は、次の最適化戦略を試してください。ディレクトリファイルの数を簡素化します。大きなディレクトリをできる限り複数の小さなディレクトリに分割し、Readdirコールごとに処理されたアイテムの数を減らします。ディレクトリコンテンツのキャッシュを有効にする:キャッシュメカニズムを構築し、定期的にキャッシュを更新するか、ディレクトリコンテンツが変更されたときに、頻繁な呼び出しをreaddirに削減します。メモリキャッシュ(memcachedやredisなど)またはローカルキャッシュ(ファイルやデータベースなど)を考慮することができます。効率的なデータ構造を採用する:ディレクトリトラバーサルを自分で実装する場合、より効率的なデータ構造(線形検索の代わりにハッシュテーブルなど)を選択してディレクトリ情報を保存およびアクセスする
