threaded file read