inflearn logo
강의

講義

知識共有

世界で最も簡単なラストプログラミング

スタックとヒープ

메모리 안전성에 대한 질문

71

jasonkim2096

投稿した質問数 2

0

슬라이드 내에서 메모리 안전성에 대해 "하나의 값에 대해서 하나의 코드만 접근한다" 라는 부분이 있던데, 단순히 lexical 하게 보았을 때를 의미하는건가요 아니면 memory operation이 항상 atomic 하게 보장된다는 의미인가요?

만약 memory operation에 대한 의미라면 perCPU variable인 경우도 이러한 메모리 안전성이 보장되는 건가요?

rust

回答 1

1

devbull

하나의 메모리 주소에 대해서 단 하나의 접근자만 접근을 허용한다는 의미입니다. 예를 들어 하나의 값에 대해 여러 개의 포인터를 실제로 가지고 있더라도, 해당 메모리 주소에 접근하고 값을 읽고 수정하는 과정을 모두 atomic 하게 처리합니다. 물론 이는 어디까지나 safe 러스트의 이야기이고, unsafe 러스트로 들어가면 직접 메모리 주소에 접근하는 C 스타일 포인터처럼 사용도 가능합니다.

 

결론적으로 러스트에서 제공하는 문법과 도구들만 사용한다면 항상 원자적 연산이 보장된다고 이해하셔도 좋을 것 같습니다.

다음강의 플랜이 어떻게 되실까요?

0

35

1

소스코드

0

32

1

강의 자료 ppt나 pdf 파일은 없을까요?

0

69

1

선생님 ppt자료를 받아서 공부하고 싶습니다.

0

53

2

Rust는 어떻게 컴파일 타임에 dangling reference를 막나요?

0

70

2

강의 추가 계획 질문

0

76

2

가변 참조에 대한 주요 제약사항 퀴즈 문의

0

66

2

소유권 이전과 관련된 질문입니다

0

148

2

&r1 을 써야하는지 r1을 써야하는지?

1

120

1

임대값 수명에 대한 질문

1

122

1

러스트로 파이썬 패키지 만들기 실습을 해보면 에러가 발생합니다

1

197

1

튜플 구조체에서 println! 사용시 에러가 발생합니다.

0

166

1

메모리 관리규칙에서 질문드립니다.

1

210

1

튜플과 구조체 차이 설명에 관한 질문

0

377

1

튜플과 배열 강의 4:50에서 벡터 나중에 설명해주신다고 하셨는데

0

193

1

trait를 인자로 받을 때 &impl과 &dyn차이

1

366

2

구조체는 언제나 Heap에 저장되나요??

2

418

2

Lifecycle 강의에서 두 문자열 슬라이스를 비교해 긴 문자열 슬라이스를 리턴하는 것 관련 질문

0

268

1

혹시 어떤 폰트일까요?

0

457

2

build 오류

0

403

1

웹 어플리케이션 개발에도 잘 사용되나요?

1

458

1

임대값의 수명 강의가 재생이 안되고 있습니다~

0

413

3

임대값의 수명에 대한 강의는 언제쯤 볼 수 있을까요?

0

350

2

문자열 리터럴이 너무 어려워요ㅠㅠ

1

556

1