我有大約500個線程同時工作的循環。我想在每個循環中增加一個計數器。增加同時併發的計數器
最後一行循環:
update counter_tbl set counter=counter+1 where id = 5;
是否有可能至少有兩個線程皮卡之一counter
值,並將其上升到相同的值?
例如,counter
是50,在同一時間兩個紗線恰好拾取器50,並增加了,所以線程1更新counter
至51和線程2具有51,更新counter
至51一次。所以我們會錯過一個增量。這可能嗎?如果是的話,如何避免它?
我可以使用LOCK TABLE
但由於其成本我想避免它。