Mutex ابزار همگامسازی برای جلوگیری از دسترسی همزمان چند Thread یا Task به بخش حساس کد است.
وقتی چند Worker حافظه مشترکی را بهروزرسانی میکنند، Mutex میتواند از نوشتن همزمان جلوگیری کند.
در عمل چه چیزی مهم است؟
Mutex در یک Process لزوما چند سرور مستقل را هماهنگ نمیکند. برای منابع توزیعشده سازوکار دیگری نیاز است.
نمونه میوتکس در Go
var mu sync.Mutex
mu.Lock()
balance += amount
mu.Unlock()
میوتکس یک بخش بحرانی را از دسترسی همزمان محافظت میکند. قفل درون یک پروسس با قفل توزیعشده میان چند سرور متفاوت است.