객체 생성자에 설정된 객체 상태가 모든 스레드에서 볼 수 있습니까?

user590444

예를 들면-

public class Request {
    public String id; //is it visible to other threads after construction?
    public Request(String id){
        this.id= id;
    }   
}
Assylias

클래스이므로 스레드로부터 안전하지 않으며 id생성자가 완료된 후에도 스레드가 null 값을 관찰 할 수 있습니다 .

id구성 후 모든 스레드에 표시되도록 하려면 몇 가지 가능성이 있습니다.

  • 필드를 만들다 final
  • 필드를 만들다 volatile
  • 안전하게 Request개체를 게시 합니다.

안전한 출판 관용구에는 다음이 포함됩니다.

  • 정적 이니셜 라이저에서 인스턴스 초기화
  • 인스턴스에 대한 참조를 휘발성으로 표시
  • 인스턴스에 대한 참조를 최종으로 표시
  • 모든 액세스 동기화

불변 객체의 스레드 안전성을 보장하기 위해 필드를 final로 표시하는 것의 중요성을 설명하는 이 다른 게시물 도 참조하십시오 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

jOOQ 객체 매핑을 구성하여 POJO의 모든 필드가 설정되도록 할 수 있습니까?

분류에서Dev

객체가 js에서 다른 객체를 생성하면 자식 객체가 부모를 호출 할 수 있습니까?

분류에서Dev

다트 변수가 객체 생성자에 설정된 값과 같지 않습니다.

분류에서Dev

벡터의 모든 객체에 복사 생성자가 있어야합니까?

분류에서Dev

javascript-상속 된 클래스의 객체는 모든 부모의 속성 및 메서드에 액세스 할 수 있습니다.

분류에서Dev

자바 스크립트에서 중첩 된 객체의 모든 키를 어떻게 바꿀 수 있습니까?

분류에서Dev

객체 관계없이 항상 스레드의 최신 내부 상태를 볼 수 있습니까?

분류에서Dev

Vue는 for 루프 내부에 설정된 객체 속성을 볼 수 없습니다.

분류에서Dev

정의 된 객체에 새 속성을 추가 할 수 있습니까?

분류에서Dev

Mongoose 문서에서 모든 JS 객체 속성을 볼 수없는 이유는 무엇입니까?

분류에서Dev

R의 함수에 정의 된 모든 객체를 반환하는 방법이 있습니까?

분류에서Dev

가변 깊이 객체의 자식 객체의 모든 자식 객체에서 속성을 가져옵니다.

분류에서Dev

Scala : 객체의 정의를 알지 못하는 상태에서 객체의 모든 변수의 내용을 나열합니다.

분류에서Dev

생성자 내부의 배열에 객체를 추가 할 수 있습니까?

분류에서Dev

캐시 된 객체를 캐시 작업자 역할 (CacheService)에서 볼 수 있습니까?

분류에서Dev

생성자가 private으로 정의 된 클래스의 객체를 어떻게 만들 수 있습니까?

분류에서Dev

당신은 객체 상태가 아닌 인덱스 배열에서 개체를 제거 할 수 있습니까?

분류에서Dev

어떻게 AA vuex 상태로 Axios의 응답 객체에있는 모든 항목에서 특정 값을 추출 할 수 있습니다

분류에서Dev

PHP 동일한 객체의 인스턴스를 2 개 이상 생성하는 경우 첫 번째 객체에서 정보를 검색 할 수 있습니까?

분류에서Dev

객체 메서드 내부의 상수가 스택에 있습니까?

분류에서Dev

동일한 기능을 사용하여 다른 객체에 상태를 설정할 수 있습니까?

분류에서Dev

객체가 파괴 된 후에도 상태 변수가 유지됩니다.

분류에서Dev

배열의 모든 객체에 대해 이벤트 리스너를 정의 할 수 있습니까?

분류에서Dev

객체 정의 생성자 함수에서 메서드를 호출 할 수 있습니까?

분류에서Dev

Realm 객체는 생성 된 스레드 _ Volley 및 AsyncTask에서만 액세스 할 수 있습니다.

분류에서Dev

Chart.js의 객체 키로 모든 객체를 반복하거나 배열에서 가져올 수 있습니까?

분류에서Dev

window.URL.createObjectURL에 의해 생성 된 객체의 대상 문서를 변경할 수 있습니까?

분류에서Dev

rebol에 객체 생성자가 있습니까?

분류에서Dev

Xcode 5가 설치된 iOS 7에서 앱이 실제로 유휴 상태 일 때 어떤 객체 또는 코드가 지속적으로 메모리를 소비하는지 어떻게 알 수 있습니까?

Related 관련 기사

  1. 1

    jOOQ 객체 매핑을 구성하여 POJO의 모든 필드가 설정되도록 할 수 있습니까?

  2. 2

    객체가 js에서 다른 객체를 생성하면 자식 객체가 부모를 호출 할 수 있습니까?

  3. 3

    다트 변수가 객체 생성자에 설정된 값과 같지 않습니다.

  4. 4

    벡터의 모든 객체에 복사 생성자가 있어야합니까?

  5. 5

    javascript-상속 된 클래스의 객체는 모든 부모의 속성 및 메서드에 액세스 할 수 있습니다.

  6. 6

    자바 스크립트에서 중첩 된 객체의 모든 키를 어떻게 바꿀 수 있습니까?

  7. 7

    객체 관계없이 항상 스레드의 최신 내부 상태를 볼 수 있습니까?

  8. 8

    Vue는 for 루프 내부에 설정된 객체 속성을 볼 수 없습니다.

  9. 9

    정의 된 객체에 새 속성을 추가 할 수 있습니까?

  10. 10

    Mongoose 문서에서 모든 JS 객체 속성을 볼 수없는 이유는 무엇입니까?

  11. 11

    R의 함수에 정의 된 모든 객체를 반환하는 방법이 있습니까?

  12. 12

    가변 깊이 객체의 자식 객체의 모든 자식 객체에서 속성을 가져옵니다.

  13. 13

    Scala : 객체의 정의를 알지 못하는 상태에서 객체의 모든 변수의 내용을 나열합니다.

  14. 14

    생성자 내부의 배열에 객체를 추가 할 수 있습니까?

  15. 15

    캐시 된 객체를 캐시 작업자 역할 (CacheService)에서 볼 수 있습니까?

  16. 16

    생성자가 private으로 정의 된 클래스의 객체를 어떻게 만들 수 있습니까?

  17. 17

    당신은 객체 상태가 아닌 인덱스 배열에서 개체를 제거 할 수 있습니까?

  18. 18

    어떻게 AA vuex 상태로 Axios의 응답 객체에있는 모든 항목에서 특정 값을 추출 할 수 있습니다

  19. 19

    PHP 동일한 객체의 인스턴스를 2 개 이상 생성하는 경우 첫 번째 객체에서 정보를 검색 할 수 있습니까?

  20. 20

    객체 메서드 내부의 상수가 스택에 있습니까?

  21. 21

    동일한 기능을 사용하여 다른 객체에 상태를 설정할 수 있습니까?

  22. 22

    객체가 파괴 된 후에도 상태 변수가 유지됩니다.

  23. 23

    배열의 모든 객체에 대해 이벤트 리스너를 정의 할 수 있습니까?

  24. 24

    객체 정의 생성자 함수에서 메서드를 호출 할 수 있습니까?

  25. 25

    Realm 객체는 생성 된 스레드 _ Volley 및 AsyncTask에서만 액세스 할 수 있습니다.

  26. 26

    Chart.js의 객체 키로 모든 객체를 반복하거나 배열에서 가져올 수 있습니까?

  27. 27

    window.URL.createObjectURL에 의해 생성 된 객체의 대상 문서를 변경할 수 있습니까?

  28. 28

    rebol에 객체 생성자가 있습니까?

  29. 29

    Xcode 5가 설치된 iOS 7에서 앱이 실제로 유휴 상태 일 때 어떤 객체 또는 코드가 지속적으로 메모리를 소비하는지 어떻게 알 수 있습니까?

뜨겁다태그

보관