스레드와 동시에 같은 기능을 실행할 수 있습니다. 의심의 여지가 자바 메서드 영역에서 동일한 함수에 여러 호출을 기다리고 상태로 이어질 수 있습니다, 그래서 내가 맞습니까?같은 기능의 Java 동시 실행
0
A
답변
1
예, 동기화를 사용하지 않으면 잠금을 기다리지 않아도됩니다. 이것은 기본 동작이므로 잠금 및 스레드 실행을 인터리브 할 수 없습니다.
스레드 스케줄러는 주어진 시간에 하나의 스레드를 실행할 수 있습니다.
기본적으로 동기화가없는 경우 대기없이 동시 액세스가 발생합니다.
샘플
public class MyThread implements Runnable {
private MyThreadInvocation threadInvocation = null;
public MyThread(MyThreadInvocation threadInvocation) {
this.threadInvocation = threadInvocation;
}
@Override
public void run() {
System.out.println("Calling from : " + Thread.currentThread().getName());
this.threadInvocation.printMessage();
}
}
public class MyThreadInvocation {
public void printMessage(){
System.out.println("Hello");
}
public static void main(String[] args) {
MyThreadInvocation myThreadInvocation = new MyThreadInvocation();
Thread t1 = new Thread(new MyThread(myThreadInvocation));
t1.setName("First Thread");
Thread t2 = new Thread(new MyThread(myThreadInvocation));
t2.setName("Second Thread");
Thread t3 = new Thread(new MyThread(myThreadInvocation));
t3.setName("Third Thread");
t1.start();
t2.start();
t3.start();
}
}
2
엡를 demostrate합니다. 기본적으로 메소드의 동시 실행을 수행 할 수 있습니다. 동시 실행을 중지하려면 동기화 된 키워드 또는 동시성 클래스를 사용해야합니다.
1
예, 동일한 함수를 여러 스레드에서 동시에 호출 할 수 있습니다. 각 쓰레드는 자신 만의 스택을 가지고 있습니다. 즉, 함수에 사용 된 로컬 변수의 복사본을 얻습니다.
멀티 코어 머신에서 스레드는 동일한 기능으로 동시에 실행될 수도 있습니다.
물론 동일한 함수를 여러 스레드에서 동시에 호출하면 동일한 가변 상태 (예 : 두 스레드가 읽고 쓰는 객체의 필드)에 액세스하는 경우 문제가 발생할 수 있습니다. 이러한 문제로부터 보호하려면 잠금 또는 동기화의 일부 형식을 사용해야합니다.
관련 문제
- 1. Java 디버깅 - 동시 실행 예외
- 2. JUnit : 동시 테스트 실행
- 3. 동시 PHP 스크립트 실행
- 4. PHP 실행 파일 동시 실행
- 5. 질문의 동시 실행
- 6. 실행 여러 JDK의 동시
- 7. 동시 커널 실행
- 8. 동시 평가 및 실행
- 9. 동시 jquery 슬라이더를 실행
- 10. Java 동시 수정 예외
- 11. 오라클 동시 프로그래밍 실행 방법
- 12. Pow & MAMP Pro 동시 실행
- 13. 동시 연결, 그래서 같은 형식으로
- 14. 클래스의 모든 참조가 실행 기능의 영향을받지 않도록합니다.
- 15. Java 애플릿과 IE8 보안 기능의 호환성
- 16. 파일의 동시 읽기 (java preffered)
- 17. Java JDK에 동시 목록이 있습니까?
- 18. 기능의 범위와이 같은 표시 순서, 코드를 JS
- 19. SharePoint - 동시 사용자 지정 타이머 작업 실행
- 20. Log4j 대 Logback : 같은 로그에 동시 쓰기?
- 21. Java 애플릿과 애플리케이션 그래픽 기능의 차이점
- 22. Eclipse (Java EE) 기능의 소스 파일 찾기
- 23. 저장 프로 시저의 잠금 및 동시 실행
- 24. Java EE 6 동시 세션 및 공유
- 25. 하나의 작성자와 많은 객체가있는리스트에서 Java 동시 액세스
- 26. 계측기 및 디버그 콘솔 동시 실행
- 27. PHP/Cron 동시 실행 스크립트 수 제한
- 28. Jquery AJAX 동시 및 장기 실행 요청
- 29. 특정 트리거로 시작된 인스턴스의 동시 실행 방지
- 30. 다중 직렬 발송 대기열 동시 실행 중입니까?
'synchronized '키워드를 사용하지 않는 한 대답은'아니오 '입니다. [여기] (http://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html)에서 자습서를 읽으십시오. –