redis - Memcache의 원자적 작동을 이해하는 방법은 무엇입니까?
大家讲道理
大家讲道理 2017-05-31 10:36:15
0
1
1092

Memcache의 추가는 원자적입니다. 즉, 여러 프로세스가 동시에 추가 작업을 수행하므로 경쟁 조건이 발생하지 않습니다. 이는 추가가 동시성을 생성하지 않음을 의미합니까? ?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(1)
某草草

질문자의 생각이 너무 과합니다. 동시성을 보장할 수 있는 것은 바로 add의 원자성 때문입니다.

기본 개념에 대해 충분히 알지 못합니다.

작업의 동시성 은 의미가 없다고 말합니다. 으아아아 위의 진술은 원자적입니까? 위의 명령문을 동시에 실행할 수 있습니까?

으아아아

위의 것은 어떻습니까?

으아아아

이건 어때요?

동시접속은 안되나요? 아니요.

+ 是原子性的,那么 +우리는

어떤 작업도 원자적이지 않은

세상을 상상합니다. 가장 간단한

예를 들어보세요:

i++

.

i 的值是 4현재 2개의 스레드

가 동시에 실행

되고 있습니다. (동시성을 동시성이라고 가정해 봅시다) i++ 어떻게 구현되나요?

i++

먼저 i의 값을 구하세요.
  • i
  • 값에 1을 더합니다.

    최종 결과는 i
  • 에 저장됩니다.

    이때 i++가 원자적이지 않으면 두 스레드가 다양한 실행 순서로 나타나 잘못된 결과를 얻게 됩니다.

첫 번째 스레드는 i 값 4
  • 를 얻었습니다.

    두 번째 스레드는 i 값 4
  • 를 얻었습니다.

    첫 번째 스레드는 i에 1을 더하고 5를 얻습니다
  • 두 번째 스레드는 i에 1을 더해 5를 얻습니다
  • 첫 번째 스레드는 5를 i
  • 에 저장합니다.

    두 번째 스레드는 5를 i
  • 에 저장합니다.

    최종 결과를 얻으세요. i는 5입니다. 분명히 이 결과는 잘못된 것입니다.
하지만 i++이 원자적이기 때문에 이런 상황이 발생하지 않았습니다.

그렇다면 원자성은 동시성이 없다는 뜻인가요? 예.

누구야

사용자 관점에서

작업은 원자적이어야 합니다. 우리가 동의하는 것은

운영

이 아니라 add시스템입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿