Linux のスリープはスレッドを遅延させることができますか?
睡眠が遅れる可能性があります。 Linux の sleep コマンドを使用すると、現在のアクションを一定期間遅らせることができます。構文は「sleep [--help] [--version]number[smhd]」です。デフォルトでは、sleep コマンドはしばらく遅延します。遅延を秒、分、時間、または日で指定する単位。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
スリープによりスレッドが遅延する可能性があります。
Linux sleep コマンドの概要
Linux sleep コマンドを使用すると、現在のアクションを一定期間遅らせることができます。
使用権限: すべてのユーザー。
#構文
sleep [--help] [--version] number[smhd]
- ##--help: 補助メッセージの表示
- number: 時間の長さ。その後に s、m、h、または d
- を続けることができます。s は秒、m は m です。 is 分、h は時間、d は日数です 1. Linux コマンドの実行を遅延します
デフォルトでは、sleep コマンドは数秒待ちます。これを理解するために、sleep コマンドを使用する前後の現在時刻を出力してみましょう。たとえば、次のコマンドは現在の時刻を出力し、再度時刻を出力するまで 5 秒待機します。
$ date '+%r'; sleep 5; date '+%r'
#2. N 分間待機するコマンドを発行します
通常、sleep コマンドではサフィックスを使用して次のことを行うことができます。時間単位を指定します。これは、次のサフィックスを使用して sleep コマンドで表現できます:
s – 時間単位を秒単位で指定します。- m – 時間単位を分単位で指定します。
- h – 時間単位を時間単位で指定します。
- d – 時間単位を日単位で指定します。
- したがって、ここでは 'm' 接尾辞を使用して 1 分間スリープします:
$ date '+%r'; sleep 1m; date '+%r'
3. コマンドを X 分と秒間スリープさせます。
実際には、sleep コマンドで複数のサフィックスを使用することもできます。この場合、期間はすべての値を加算することによって計算されます。
これを理解するために、以下では 1 分 20 秒間スリープするコマンドを使用します。コマンドは次のとおりです:$ date '+%r'; sleep 1m 20s; date '+%r'
$ date '+%r'; sleep 2s 3s; date '+%r'
4. sleep コマンドで浮動小数点数を使用します
#さらに、sleep コマンドは浮動小数点数も入力として受け入れるので、このメソッドを使用して 1 秒未満スリープすることができます。たとえば、0.5 秒の値を使用して 0.5 秒スリープできます。 $ date '+%r'; sleep 0.5s; date '+%r'
さらに、他の接尾辞が付いた浮動小数点値も使用できます。たとえば、30 秒間スリープするには 0.5m の値を使用できます:
$ date '+%r'; sleep 0.5m; date '+%r'
前の例では、sleep コマンドを使用して目覚まし時計をシミュレートします。例では、主に sleep コマンドを使用して次のコマンドの実行を遅らせる方法を紹介しました。あるいは、このトリックを使用して目覚まし時計をシミュレートすることもできます。 それでは、次に次のコマンドを使用して、5 秒後にアラームを設定します。
$ sleep 5; cvlc alarm.mp3
上記のコマンドは、5 秒待った後、VLC メディア プレーヤーを使用してalarm.mp3 ファイルを開きます。他の Linux コマンドと同様に、Ctrl C キーの組み合わせを使用して VLC メディア プレーヤーを停止できます。
sleep コマンドの使用例
最初にプログラムを 30 秒間スリープさせます
文字通りところで、sleep コマンドの機能はもうおわかりいただけたかと思います。簡単に言うと、スリープとはプログラムを少し休ませてから動作を継続することです (休むことは動作を良くするためです...)。 シェル プログラムに 30 秒間仮眠させます:
#睡眠30秒 [roc@roclinux ~]$ sleep 30s #让date命令来监督, 看看是不是真的睡了30秒 [roc@roclinux ~]$ date;sleep 30s; date Thu Feb 25 08:25:17 CST 2016 Thu Feb 25 08:25:47 CST 2016
sleep コマンドはシンプルですが、個人用にカスタマイズできます。カスタマイズしてもっと楽しくしましょう。 一般的に、sleep コマンドに続く値は時間を表すために使用されます。時間には単位が必要です。単位を指定しない場合、デフォルトの単位は何になりますか?
[roc@roclinux ~]$ date; sleep 1; date Thu Feb 25 09:55:47 CST 2016 Thu Feb 25 09:55:48 CST 2016
この例から、デフォルトの単位は秒であり、指定された単位と同じ効果があります。
秒がある場合は、分と時間もあるはずです。では、睡眠ではこれらの単位はどのように表されるのでしょうか?
s: 秒を示します
m: 分を示します
h: 時間を示します
d: 日を意味します
たとえば、シェル プログラムを 1 分間スリープさせたい場合、どうすればよいでしょうか?
[roc@roclinux ~]$ date; sleep 1m; date Thu Feb 25 10:00:43 CST 2016 Thu Feb 25 10:01:43 CST 2016
ログイン後にコピーシェル プログラムを 1 時間スリープさせたい場合は、単位を h に変更するだけです。シェル プログラムを 1 分 40 秒間スリープさせたい場合はどうすればよいでしょうか? 1 分 = 60 秒、1 分 40 秒 = 100 秒、コンピューターを直接 100 秒間スリープ状態にすることができます。
[roc@roclinux ~]$ date; sleep 100; date Thu Feb 25 10:12:28 CST 2016 Thu Feb 25 10:14:08 CST 2016
実は、睡眠はあなたが思っているよりも重要です。次のように直接入力できます:
#注意: 分钟和秒之间一定要有空格哦 [roc@roclinux ~]$ date; sleep 1m 40s; date Thu Feb 25 10:17:04 CST 2016 Thu Feb 25 10:18:44 CST 2016
这种方法简单、直接,节省了我们不少的思考时间。
在 sleep 中最大的单位是 d(天),如果想表示更长的时间,比如周、月、年的话,那么你只能把它们转换成天来表示了。
# 这样, Shell程序乖乖地沉睡 "一周2小时5分4秒" [roc@roclinux ~]$ date; sleep 7d 2h 5m 4s; date Thu Feb 25 10:17:04 CST 2016 Thu Feb 25 10:18:44 CST 2016
毫秒级睡眠时间可不可以
sleep 命令的默认时间单位是秒,但对于高速运行的程序来说,“秒”还是显得太长了。那 sleep 能不能实现毫秒级的睡眠呢?答案是可以的,例如,我们让 Shell 程序睡眠 3 毫秒:
[roc@roclinux ~]$ time sleep 0.003 real 0m0.004s user 0m0.000s sys 0m0.001s
time 可以通过浮点数的方式实现毫秒级的睡眠,但这里有一点需要注意,即睡眠时间的精度。sleep 命令只能保证 10ms 级别的精度控制,对于小于 10ms 的睡眠时间是存在误差的。实际应用中,如果你对时间精度要求特别高的话,sleep 或许不是一个正确的选择,还是请考虑其他方法吧。
sleep 的过程中 CPU 是否被占用
默认情况下,sleep 的进程是不占用 CPU 时间的,我们可以通过实验来说明这个问题:
[roc@roclinux ~]$ \time sleep 1 0.00user 0.00system 0:01.00elapsed 0%CPU (0avgtext+0avgdata 2560maxresident)k 0inputs+0outputs (0major+200minor)pagefaults 0swaps
看到了吗?0.00user、0.00system、0%CPU 这三个输出项都表明 sleep 是不会耗费 CPU 的计算资源的。
注意:上面使用了\time命令,它指代的是 /usr/bin/time,而不是 Shell 内置的 time 命令。/usr/bin/time 命令可以显示更多的信息,而 Shell 内置的命令做不到这一点。
相关推荐:《Linux视频教程》
以上がLinux のスリープはスレッドを遅延させることができますか?の詳細内容です。詳細については、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)

ホットトピック









Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

Centosは、上流の分布であるRhel 8が閉鎖されたため、2024年に閉鎖されます。このシャットダウンはCentos 8システムに影響を与え、更新を継続し続けることができません。ユーザーは移行を計画する必要があり、提案されたオプションには、Centos Stream、Almalinux、およびRocky Linuxが含まれ、システムを安全で安定させます。

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

Centosは廃止されました、代替品には次のものが含まれます。1。RockyLinux(最高の互換性)。 2。アルマリン(Centosと互換性); 3。Ubuntuサーバー(設定が必要); 4。RedHat Enterprise Linux(コマーシャルバージョン、有料ライセンス); 5。OracleLinux(CentosとRhelと互換性があります)。移行する場合、考慮事項は次のとおりです。互換性、可用性、サポート、コスト、およびコミュニティサポート。

CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)
