I think, as the writer just performs a RegEx operation and some checks, it wouldn't slow down processing too much, as the reader needs a lot of time creating AbstractModelItems from the gathered data (about 38000 from a ( rather small ) 2.000.000 line file, in a productive environment it may be 8-10 times that many). But to make sure, that every thread finished working on the buffer, before unblocking the writer would create longer delays I think, as some threads may just idle away, waiting for all other readers to finish.