나는 루프가 동시에 작동하는 약 500 개의 스레드가 있습니다. 모든 루프에서 카운터를 늘리고 싶습니다. 루프동시성 동안 동일한 카운터를 증가하십시오.
마지막 라인 :
update counter_tbl set counter=counter+1 where id = 5;
그것은 counter
의 적어도 두 개의 스레드 획득 한 값이 동일한 값으로 증가하는 것이 가능한가?
예를 들어, 너무 counter
counter
51이 51 thread2 업데이트, 업데이트 51 counter
thread1 또, 동시에 50 개의 스레드 정확하게 픽업 50이며를 증가시킨다. 그래서 우리는 하나의 증분을 그리워 할 것입니다. 이것이 가능한가? 그렇다면 어떻게 피하는가?
나는 LOCK TABLE
을 사용할 수 있지만 그 비용 때문에 나는 그것을 피하고 싶다.