برنامه نویسی موازی(مانیتور و مسدود کردن همگام سازی)
تعداد صفحات فارسی:
119 صفحه
نوع فایل:
فایل word ترجمه و pdf رایگان انگلیسی
قیمت فروش:
600,000 ريال
چکیده فارسی:
مانیتورها روش های ساخت یافته ترکیب داده و همگام سازی هستند. یک کلاس داده ها و متد ها را به همان روشی که مانیتور ها, داده ها ومتدها را همگام سازی می کنند در یک پکیج ماژولار واحد ترکیب و بسته بندی می کند. در اینجا علت اهمیت همگام سازی ماژولار بودن آن است. فرض کنید برنامه ما دو نخ تولید کننده و مصرف کننده دارد, که در صف FIFO به اشتراک گذاشته شده با یکدیگر در ارتباط هستند
فرض کنید که صف دارای محدودیت است این بدان معنی است که تلاش برای اضافه کردن عنصر جدید به صف تا زمانی که صف جای خالی نداشته باشد امکان پذیر نیست. در اینجا تصمیم بلاک کردن و پیش روی فراخوانی به وضعیت داخلی صف وابسته است که برای فراخواننده غیر دسترسی به وضعیت داخلی صف غیر ممکن است. در بدترین حالت در نظر بگیرید که برنامه تا روال چند گانه مصرف کننده یا هردو (تولید کننده و مصرف کننده) پیش می رود. چنین نخی باید اشیا و قفل های نخ را نگه داشته باشد. و برنامه تا زمانی صحیح کار می کند که هر نخ فرآیند قفل مشخصی را دنبال کنند. ایده روشن تر این موضوع این است که به صف اجازه دهیم مدیریت همگام سازی انجام دهد. صف به خودی خود دارای قفل درونی خودش است که وقتی با هر متدی فراخوانی می شود قفل می شود و وقتی تمام می شود آزاد می شود. احتیاجی نیست هر نخی که از صف استفاده می کند پروتکل همگام سازی یکستنی داشته باشد. اگر نخی تلاش به اضافه کردن عنصر در صف ای که اکنون پر است انجام دهد در این صورت تابع enq() می تواند به خودی خود مشکل را شناسایی کند. فراخواننده را معلق می کند و وقتی صف جای خالی داشت آن را به صف اضافه می کند.