سمافور در معماری محاسباتی یک شی همگام سازی است که برای مدیریت دسترسی به یک منبع مشترک در یک محیط چند رشته ای استفاده می شود. اساساً یک ساختار داده ای است که مکانیزمی را برای چندین فرآیند یا رشته برای ارتباط و هماهنگی فعالیت های خود فراهم می کند. سمافورها را می توان برای جلوگیری از شرایط مسابقه، بن بست، و سایر مشکلات همگام سازی که ممکن است هنگام تلاش چندین فرآیند یا رشته برای دسترسی به یک منبع مشترک به طور همزمان ایجاد شود، استفاده کرد. آنها با اجازه دادن به یک فرآیند یا رشته برای دسترسی به منبع مشترک در یک زمان کار می کنند، در حالی که بقیه تا زمانی که منبع آزاد نشود مسدود می شوند. سمافورها را می توان به صورت دودویی یا شمارشی، بسته به نیازهای خاص خود، پیاده سازی کرد.
تاریخ انتشار: