大手コンピュータ・メーカー勤務。入社以来10数年をソフトウェア開発の現場で過ごし,その後ソフトウェア品質部へ異動。現場への技術支援や品質教育開発などを主に行っている。「APIで学ぶWindows徹底理解」(日経BP社)などを執筆。 前回,前々回と,複数のプロセス,複数のスレッドがどのような仕組みで同時に実行できるかについて説明をしてきた。その中でも少し触れたが,複数の処理が並行して実行される場合には,ある重要な問題を考慮しなければならない。「同期」である。 単独で動作するシングル・スレッドのアプリケーションしか書いたことがない人にはなじみのない言葉だろう。しかし同期は,Windowsだけでなく,並列処理が可能なシステムでは,必ず考慮しなければならない事項である。これは,プログラム言語としてマルチスレッドをサポートしているJava言語に,同期を実現するためのキーワードが定義されていることから