۵۹۲٬۸۸۴
ویرایش
جز (رده:سختافزار رایانه اضافه شد با استفاده از ویکیپدیا:ردهساز) |
جز (ربات: تصحیح جایگذاری کاما، شمارگان هزارگان) |
||
[[پرونده:Race_condition.svg|thumb|(شکل 1)وضعیت رقابتی در یک مدار منطقی]]
یک '''وضعیت رقابتی''' <ref name="test">[http://en.wikipedia.org/wiki/Race_condition http://en.wikipedia.org/wiki/Race_condition]،
==[[الکترونیک]]==
به عنوان مثال
==[[رایانه]]==
وضعیت رقابتی در [[نرم افزار]] هنگامی ناشی می شود که [[پردازش]] های مختلفی به یک وضع مشترک بستگی داشته باشد. به عنوان مثال بگذارید دو رشته T1 و T2 را فرض کنیم.هر کدام مقدار سراسری i را می خواهند یک واحد اضافه کنند. به طور ایده آل
# integer i=0 (حافظه)
# T1 مقدار i را از حافظه خوانده و به Register1 انتقال می دهد.
# T1 مقدار i را که در Register1 است
# T1 مقدار Register1 را در حافظه ذخیره می کند. i=1
# T2 مقدار i را از حافظه خوانده و به Register2 انتقال می دهد.
# T2 مقدار i را که در Register2 است
# T2 مقدار Register2 را در حافظه ذخیره می کند. i=2
# i=2
در حالت بالا همان طور که انتظار می رفت مقدار i مساوی 2 است
# integer i=0 (حافظه)
# T1 مقدار i را از حافظه خوانده و به Register1 انتقال می دهد.
# T2 مقدار i را از حافظه خوانده و به Register2 انتقال می دهد.
# T1 مقدار i را که در Register1 است
# T2 مقدار i را که در Register2 است
# T1 مقدار Register1 را در حافظه ذخیره می کند. i=1
# T2 مقدار Register2 را در حافظه ذخیره می کند. i=1
|