하나의 파일을 처리하는 하나의 객체가 있다. 더 빨리 처리하기위해 파일을 a라고 하자, a파일을 n개의 영역으로 나누고, n개의 스레드에 각각 객체를 만들어서 영역을 배정했다.(편의상 a파일을 그냥 파일이라고 부르기도 하겠다.) 각 스레드는 하나의 객체를 가지며, 그 객체는 그 스레드에서 자기 영역을 처리하면 된다. 추가 스레드에서 파일에 직접 접근하는 것은 아니다.내가 아는한 a파일에 접근하는 것은 메인 스레드 뿐이다.메인스레드가 a파일의 내용을 변수로 읽어 들이면, 객체들이 그 변수를 처리한다. (a파일에 대한 읽기나 쓰기 권한을 가지는 것은 오직 메인스레드 뿐이다.) 우선 스레드를 생성하고, 스레드안에서 객체를 생성했다. 모든 스레드가 초기화가 끝나면, 메인스레드가 파일을 열고 읽어들여서