스레드를 사용하는 Android 앱을 개발 중입니다. 이 3 가지 코드의 차이점을 알려주시겠습니까?여러 스레드의 시작 및 결합 순서가 다릅니 까?
첫째
Thread t1 = new Thread (new Class1(param1));
Thread t2 = new Thread (new Class2(param2));
t1.start();
t2.start();
t1.join();
t2.join();
둘째
Thread t1 = new Thread (new Class1(param1));
Thread t2 = new Thread (new Class2(param2));
t1.start();
t1.join();
t2.start();
t2.join();
셋째, 두 클래스 (class1
및 class2
)는 동일한 클래스를 확장하는 경우
Thread t1 = new Thread (new Class1(param1));
t1.start();
Thread t2 = new Thread (new Class2(param2));
t2.start();
t1.join();
t2.join();
이 어떻게 다른 것 Class
?
Class1과 Class2 두 클래스가 동일한 클래스 (MAINCLASS)를 확장하고 실행 가능을 구현하는지 알아야합니다. 충돌이 발생합니까? 다른 말로하면 작동 할 수 있습니까? 감사합니다.
t1.join()이 예에서 스레드를 사용하여 다소 무의미하게 T2를 시작하기 전에 끝날 때까지
2 )는 대기 다음 명령. – barsju
두 클래스가 같은 클래스를 확장하고 실행 가능을 구현하는 경우 functons 간의 충돌이 발생할 수 있습니까? – Adroidist
함수 자체가 충돌하지 않습니다. 충돌은 동일한 데이터에 대한 작업 일 경우에만 발생합니다. 따라서 메소드가 작동하는 변수와 필드를 고려해야합니다. 이러한 변수 (데이터)의 인스턴스가 공유되면 잠재적 인 충돌이 발생할 수 있는지 고려해야합니다. 그들이 항상 다른 인스턴스에서 작동한다면 아무런 문제가 없을 것입니다. – barsju