>>485
最初は、IO→読み込んだデータの処理と書いてました。
しかし、これでは遅い(IOの間にCPUが遊んでいる)のでもっと違うアルゴリズムを考えました。
考え出したアルゴリズムは「データを読み込みながら、データを処理する」というアルゴリズムです。
そのため、1行読み込んだら即座にデータを別のスレッドで処理をするというコードを書いています。

スレッドの開始→while((line = br.readLine) != null) {別のスレッドで読み込んだデータを処理する)}→スレッドの同期→処理したデータを取得

>あと、スレッドが止まった以降はaddQueueを拒否する(例外を投げる)べきかと
説明が不足していました、すいません