2025年12月 3日 10:00
最近特に師匠から「割り込み処理を先に終わらせろ」とご指導いただいています。
ITでいう割り込み処理とは、CPUが今やっている処理を一時停止して急ぎのイベントを処理し終わったら元の処理に戻る仕組みです。 CPUは本来プログラムを順番通りに実行します。 しかし、キーボード入力やネットワークからのデータ到着など今すぐ対応すべき出来事が起きると、状態を一度保存して割り込み処理を行い完了後に続きを再開します。 イベントが起きていないかを常に確認し続けるポーリングを延々と行うより、何か起きたときだけ反応するほうが無駄が少ない、という発想です。
一方で、ITの世界には「割り込みをキューに溜めて、あとでまとめて処理する」というやり方もあります。 割り込みが多すぎると一つ一つに完全対応していられないのでとりあえず受け付けてキューに並べておき、落ち着いたところでまとめて処理するわけです。 また割り込みには優先度をつけ高いものから順に処理し、緊急性の低いものは後回しにする仕組みもあります。 人間の仕事で言えば、発生した業務の依頼をひとまずタスクとして書き出し優先度をつけたうえで時間を決めて一気に片づけていくイメージです。
ただここで行き詰まることもあります。 キューに積んだとしてもその山を処理しきる時間もパワーもなければ割り込みタスクは増え続けるだけです。 ToDoリストばかり肥大していき、頭の片隅のノイズが増え、メインの仕事にも集中できなくなります。 溜めても実行できないならその溜め方や受け方そのものを見直す必要があります。
ITでは「割り込み禁止」という考え方もあります。 重要な処理中だけ一時的に割り込みを受け付けないという仕組みです。 仕事においても本来の目的と関係が薄い仕事は優先度を下げる、そもそも必要のない仕事は安請け合いしない、といった姿勢がこれにあたります。 何でも受けてとりあえずキューに積む、リストに加えるのではなく、必要性の薄いものは「これは受けない」と決めることで全体のフローを維持し、仕事の流れを滞らせないようにすることが大切です。
割り込み処理を先に終わらせるためには、受けた以上はさっさと片づけて残さないこと、そしてそもそも不要な割り込みはむやみに増やさないこと、その両方が必要でした。 「割り込みを溜めず、受けるべき割り込みだけをさばく」という当たり前のことをどれだけ徹底できるかが、自身の仕事の質と心の余裕を生んでいくのだと感じています。