Thread.yield(), interrupt(), isInterrupted(), and interrupted() Behavior Explained
中断机制において、Javaの次の3つのメソッドは異なる動作をします:
interrupt(): 中断リクエストを送る。スレッドが待機中(sleep、wait、join)라면InterruptedException をスローし、中断フラグをクリアする。実行中またはLockSupport.park()中のスレッドであれば、中断フラグのみをセットする。
isInterrupted(): 中断フラグの状態を確認するが、フラグを変更しない。 ...
8月31日 00:45 投稿
STM32タイマ割り込み制御
タイマ基本構造
タイマモジュールは入力クロックを計数し、設定値到達時に割り込みを生成します。16ビットカウンタ/プリスケーラ/自動再ロードレジスタで構成され、72MHzクロック下で最大59.65秒の計時を実現します。主要機能:
基本タイマ割り込み
内部/外部クロック源選択
入力キャプチャ/出力比較
エンコーダインタフェース
マスタ/スレーブトリガモード
複雑度に応じ ...
7月6日 23:04 投稿
Javaスレッド中断処理におけるinterruptedとisInterruptedの違い
スレッド中断の基本概念
マルチスレッドプログラミングにおいて、スレッドの中断は重要な機能です。スレッドを適切に中断することで、リソースの解放やエラー処理、パフォーマンス最適化などが可能になります。
フラグ変数による中断処理
public class ThreadStopExample {
private static volatile boolean shouldStop = false;
public static void main ...
6月30日 21:07 投稿
割り込みを利用した1秒カウンターの実装
概要
8051マイコン(AT89C52等)と2桁の7セグメントLED(カソードコモン)を用いて、1秒ごとにカウントアップする簡易ストップウォッチをタイマ割り込みで実現する。
タイマ0を16ビットモードで動作させ、50msごとに割り込みを発生。20回の割り込みで1秒を計測し、カウンタ値を表示する。
ヘッダファイル (head.h)
#include <reg52.h>
#define uint unsigned int
#d ...
6月8日 23:33 投稿