第6講 並行処理のコツは「点」の確保にある

 

弁護士・公認会計士・通訳 黒川康正

 

 同時並行処理をスムーズに行なうには「点と線」の考え方をクリアにする必要がある。
 2つの作業を並行処理する場合、ふつう2枚の板を重ねるように、すべての面で2つの事柄が重複、対応しているイメージを抱く。これは時間を「線」でとらえているからである。
 時間は過去から現在、そして未来へ向け、1本の線としてどの瞬間も途切れることなく連続している……。そのようなとらえ方自体は、必ずしもまちがいとはいえないかもしれない。しかし、物質を分子のレベルまで分解してみれば、どんなに密度の高い物質もすきまだらけであるように、作業の手順として考えてみれば、実は時間にはいたるところにすきまがある。

 簡単な例だが、ある原稿1枚からコピーを100枚とるのに10分かかるとする。この10分間は、1本の線や棒状のものでとらえるべきではない。まともなコピー機であれば、必要な作業は最初のスタートボタンを押すことと終了時の処理だけである。
 作業にかかる時間は2つの「点」のみ。したがって起点と終点のみ作業を行なえば、あいだの大半の時間は空洞になる。この空洞を利用して他のことを行なうのが、同時並行処理の要諦である。
 同様に、洗たくの場合を考えてみる。汚れ物を入れ、作動ボタンを押せば、あとは機械がやってくれる。このとき、終了時間まで洗濯機のそばにぴったり張りついている必要は毛頭ない。
 洗たくを始めてから洗い物を干すまでの全工程のうち、人間がかかわらなくてはいけない時間の比率……押さえなくてはいけない点……は、たぶん2割にも満たないだろう。
 洗たくに1時間かかるとしても、実際の拘束時間は10分くらいにすぎない。残りの50分は別の場所で、別のことがやれる。ここに同時並行処理が可能な時間が発見できる。時間をつくりだせるのである。

 別のいい方をすると、作業を開始してから完了するまでに必要な時間と、自分が現実に拘束される時間とは、実は異なるのに、その2つを同一視しやすいのである。
 銀行へ代金の振り込みにいく。この限りでは、「銀行で振り込みをする」というひとかたまりの作業でしかない。しかし、窓口で予約番号をとる、振込用紙に記入する、順番を待つ、呼ばれて窓口で手続をする、順番を待つ、領収印を押された書類を受け取る……と行動を分解していくと、線が点になり、すきま時間が見えてくるのがよくわかる。
 この場合は、「待つ」という空洞時間を他の作業に振り向ければ、それが効率よい同時並行処理になる。
 だから、同時並行処理のコツはまず、自分の現実の行動のためのごく短い時間である「点」の確保にある。その点を押さえて、その中から線の作業が自動的にできるような点を見つけ、その点で作業をこなす。その前提として、ひとつながりの行動を点ごとに分解してみる作業が必要になってくる。線でしかこなせないと思える作業も、かならず点ごとに分解できるものだ。

 1人はずっとつきっきりで面倒みなくてはいけないが、もう1人はときどき様子を見、必要に応じて軌道修正してやるだけでい……。ききわけのいい子と悪い子の2人の子供のベビーシッターを「点と線」の併用で同時にこなす……。
 そんな同時並行処理を、私たちは仕事や生活のなかで実はしょっちゅうやっているのである。それをいかに積極的にやっていくかである。