小粒プログラミング

#14 setInterval関数で擬似マルチスレッド

更新日:

Javascriptで遊ぶ麻雀小粒プログラミング
今回のお題は、setInterval関数を使って簡単な擬似マルチスレッド処理を作ってみます。事例に簡単なチンチロリンゲームを用意。擬似マルチスレッドの感じがわかれば幸いです。

プログラムの解説と実行

通常、ループ処理中は他の命令を受け付けることができません。JavaScriptはシングルスレッドで一つの処理しか実行できないからです。つまり利用者は処理が終わるのを待たないと次の操作ができなくなることになります。なんか不便ですよね。setInterval関数はタイマー処理で指定した時間毎に処理を実行させる関数です。実行中の処理の合間に別の処理を割りこませることができます。

setInterval関数は処理を停止させるためのclearInterval関数とセットで使います。終了条件が満たされないと繰り返し処理は終了しないので注意が必要です(無限ループ)。




中断ボタンでループ処理を停止できるようにする

乱数でサイコロを100回振ります。for文だと処理が最後まで進まないと、操作が一切できません。setInterval関数を利用すれば、処理を途中で終わらせることができます。

それでは簡単なチンチロリンプログラムで動作を確認してみましょう。[サイコロを振る]ボタンでスタートします。3つのサイコロの目が1~6までの数字を連続でランダムに出力します。100回続きます。[サイコロを止める]ボタンで強制的にサイコロを止めることができます。

回数サイコロ1サイコロ2サイコロ3
100



JavaScriptソースコード

本記事で紹介したサンプルプログラムをダウンロードできます。

ダウンロードをする前にお読みください

  • サイトで紹介している記事の内容や公開しているプログラムの動作は100%保障するものではありません。
  • 当プログラム使用による如何なる不具合やトラブル、損害の責任も負いかねます。
  • 当プログラムは断り無く内容が変わることがあります。
  • 当プログラムを別サイトで配布することは禁止します。
  • サポートはいたしません。
  • 自己責任にてご利用くださいませ。

以上をご確認の上、プログラムのダウンロードをお願いいたします。

サンプルプログラムのソースコード

ソースコードは折りたたんであります。[+]を押すと、折りたたまれたソースコードが開きます。[-]を押すと、コードは折りたたまれます。

program_014.jsを開く
program_014.cssを開く
サイト内関連記事

おすすめレンタルサーバー

エックスサーバー|高速・高機能レンタルサーバー

オールSSDの快適ハイスペック環境」「国内管理、大容量バックボーン」「独自SSLが無料」「FastCGIなどの高速化機能」「最新のPHP7を実装」など、高機能・高コストパフォーマンスなレンタルサーバーです。※当サイトも「エックスサーバー」で運用しています。

 

独自ドメインプレゼントキャンペーン情報

キャンペーン期間中にサーバーアカウントを契約すると、独自ドメインが1つもらえます。しかも、更新料も無料。運用コストを軽減します。

期間は、2017年10月16日より2017年11月30日まで、お見逃しなく。

-小粒プログラミング
-

Copyright© 麻雀ツール点数計算ラボ , 2017 All Rights Reserved.