정확히 2 개의 클래스를 작성해야합니다. 주 방법은 Main이고 다른 하나는 행렬 곱셈을 구현하는 Class1이라고 가정 해 봅시다. Class1이 파일에서 데이터를 읽고 스레드를 사용하여 행렬 곱셈을 수행하기를 원합니다.Java 다중 스레드 - 단일 인스턴스에 매개 변수 전달
여러 인스턴스를 만들고 생성자에 매개 변수를 전달할 수 있지만 필요한 것은 Class1 인스턴스를 만들고 파일을 한 번 읽고 여러 스레드에서 계산 부분을 실행하는 것입니다.
그것은 잘못이다, 그러나 가지 매개 변수와 함께 실행 방법을 통과해야한다 : 당신이 run()
메소드를 오버라이드 (override)하지만
public class Main {
public static void main(String[] args) {
Class1 c = new Class1();
ArrayList <Thread> a = new ArrayList<>();
for (int i = 0; i < 4; i++) {
a.add(i, new Thread(c));
}
for (int i = 0; i < 4; i++) {
a.get(i).start(index1,index2);
}
}
}
[Java 동시성] (http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html) –
http://stackoverflow.com/questions/877096/how-can- i-pass-a-parameter-to-a-java-thread –