Thread


Threadとは?


スレッドの必要性 職場と見なすことができます.
たとえば、音楽のダウンロードと再生に使用できるアプリケーションがあります. 通常のアプリケーションであれば、音楽をダウンロードしながら既存の音楽を再生することもできます. しかし、どんな音楽をダウンロードする前に、音楽を再生したり、検索したりします. このままスクリーンがそびえ立っていると、とても不便なアプリになります.
これは,音楽アプリケーション内で機能を実行できるアクションフローが1つしかないためである.
複数のワークフローを作成することで、スレッドはこれらの問題を完全に解決します.
" 1つのプログラムで
複数のアクションを同時に実行 "
これをマルチスレッドと呼びます. Javaや他の言語ではすでに「スレッド」という概念がありますが. Androidのスレッドは主にサーバとの通信に使われています

Threadの論理構造


1つのプロセスで実行するには、スレッドがプロセスのリソースを共有します. すなわち,1つのプログラム内で定義され実装される「変数」や「メソッド」などを共有する. 図に示すように、共有リソースの概念は非常に重要です.

Thread実装


Androidでスレッドを実現する方法は大きく2つに分けられます.

  • extends Thread
    Threadをどのように継承するか、Runnableをどのように実現するかにかかわらず、 注意すべき方法はrun()と
    start()です.
  • Thread 클래스를 상속 받은 후,**run() 메소드**를 Override 하여 스레드가 무엇을 할지를 정해 줍니다. 이후에 메인 액티비티 내에서 스레드를 생성해주고 해당 스레드를**start()**시켜 줌으로써 스레드를 동작 시킬 수 있습니다.

  • implement Runnable
    実行可能なインタフェースの実装 方法 run()メソッドを使用してスレッドの動作を実装し、start()を使用してスレッドを実行する主なプロセスは同じですが、宣言の方法は少し異なります.Thread動作例

  • Thread動作例


  • ThreadはActivityの作成とともに実行され、1秒間に1回加算され、Thread Resultとして表示されます.

  • ボタンをクリックするたびに値が1ずつ増加し、Main Resultとして表示されます.

  • ボタンをクリックする動作(論理表示)とは異なります. Activityが起動すると、バックグラウンドで黙々と計算を実行します. Threadの結果値を観察できます.

    結果画面