C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でスレッドを一時停止する方法:Thread.Sleep()メソッドの使い方

C#でスレッドの実行を一時的に停止したい場合、Thread.Sleep()メソッドを使用します。このメソッドは、System.Threading名前空間に含まれており、指定した時間だけ現在のスレッドの処理を中断させることができます。

Thread.Sleep()メソッドの基本構文

Sleep()メソッドには、一時停止させたい時間をミリ秒単位で指定します。例えば、5秒間スレッドを停止させたい場合は、次のように記述します。

Thread.Sleep(5000);

サンプルプログラム

それでは、実際にループ処理の中でSleep()メソッドを使い、スレッドを一時停止させる例を見てみましょう。以下のコードでは、10回のループを実行し、各ループごとに1秒(1000ミリ秒)ずつスレッドを停止させています。

using System;
using System.Threading;

namespace Sample {
    class Demo {
        static void Main(string[] args) {
            for (int i = 0; i < 10; i++) {
                Console.WriteLine("1秒間スリープします!");
                Thread.Sleep(1000);
            }
            Console.ReadLine();
        }
    }
}

実行結果

このプログラムを実行すると、各メッセージが表示された後、1秒間の待機時間が挟まりながら、以下のように10回出力されます。

1秒間スリープします!
1秒間スリープします!
1秒間スリープします!
1秒間スリープします!
1秒間スリープします!
1秒間スリープします!
1秒間スリープします!
1秒間スリープします!
1秒間スリープします!
1秒間スリープします!

補足:Thread.Sleep()使用時の注意点

  • 引数に0を指定すると、残りのタイムスライスを他のスレッドに譲り渡します。
  • Timeout.Infiniteを指定すると、別スレッドからInterrupt()やAbort()が呼び出されるまで無期限にスレッドをブロックできます。
  • Sleep()はUIスレッドで使用すると画面がフリーズして見えるため、GUIアプリケーションではTask.Delay()など非同期処理の活用も検討しましょう。
  1. AndroidでThread.sleep()を使用する方法を徹底解説!基本の仕組みと実装手順

    スレッド(Thread)とは? 実装例に入る前に、まずスレッドについて理解しておきましょう。スレッドとは軽量なサブプロセスのことで、UIの動作を妨げることなくバックグラウンド処理を実行するために使用されます。 本記事では、AndroidアプリでThread.sleep()を使って処理を一時停止させる方法を、具体的なサンプルコードとともにわかりやすく解説します。 手順1:新規プロジェクトを作成する Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成してください。 手順2:レイアウ

  2. PythonでN番目のフィボナッチ数を求めるプログラム

    数値 n が与えられたとき、n番目のフィボナッチ数を求めるプログラムをPythonで作成してみましょう。フィボナッチ数列とは、i番目の項が f(i) = f(i-1) + f(i-2) という漸化式で定義される数列です。最初の2項は 0 と 1 であり、それ以降の各項は直前の2つの項の和になります。数列を並べると「0, 1, 1, 2, 3, 5, 8, 13, 21, ...」のように続いていきます。例えば、入力が 15 の場合、15番目のフィボナッチ数である 610 が出力されます。解き方の手順この問題は反復処理(ループ)を使うことで効率的に解けます。手順は以下の通りです。変数 first