آموزش زبان با داستان انگلیسی
 
برنامه ضرب ماتریس بصورت همروند به زبان #C

در این برنامه شما می‌توانید نحوه‌ی ضرب نمودن ماتریس ها با استفاده از چند نخی (Multithreading) را بیاموزید و تفاوت زمان اجرای آن را با ضرب معمولی مشاهده نمایید. برنامه از دو نخ پردازش استفاده نموده است ولی شما می‌توانید با همان روش از تعداد بیشتری Thread استفاده نمایید.

عنوان پروژه : ضرب ماتریس با دو Thread

برنامه نویسی : علی علیخانی

زبان برنامه نویسی : #C

نسخه نرم افزار : Visual Studio 2008

حجم فایل : ۴۶ کیلوبایت

 

توضیحات :

فرض کنید که دو ماتریس n*n داریم و تصمیم داریم این دو ماتریس را در هم ضرب کنیم. برای سرعت بالاتر قرار است از همروندی استفاده کنیم . برنامه همروندی که با کمک تنها ۲ Thread این ۲ ماتریس را در هم ضرب نماید . توجه داشته باشید اگر هر کدام از این Thread ها بی دلیل بیکار باشند برنامه قابل قبول نیست.

ادامه مطلب...
برنامه‌ی پلی با یک خط بوسیله‌ی سمافور در سی شارپ

در این برنامه که بوسیله‌ی سمافور (Semaphore) پیاده سازی شده است ، پلی داریم که ماشین ها فقط در یک جهت بر روی آن می توانند حرکت کنند و بحث همروندی در آن بوسیله‌ی سمافور پیاده سازی شده است.

عنوان پروژه : پلی با یک خط

برنامه نویسی : علی علیخانی

زبان برنامه نویسی : #C

نسخه نرم افزار : Visual Studio 2008

حجم فایل : ۵۶ کیلوبایت

 

توضیحات :

پلی داریم که تنها ظرفیت حرکت ماشین را در یک جهت دارد ، بدین صورت تا زمانیکه ماشین‌ها در یک جهت در حرکت هستند ماشین‌های مقابل اجازه ورود به پل را ندارند و زمانیکه تمامی ماشین‌ها از روی پل گذشتند ، ماشینهای طرف مقابل اجازه ورود به پل را خواهند داشت. برنامه همروند خود را طوری بنویسید که در آن هر ماشین یک Thread بوده که یک شماره مشخصه دارد و پس از عبور از پل در زمان دیگری تصمیم به برگشتن و عبور مجدد از پل را دارد . بدیهی است که ماشین ‌های عبوری از روی پل مدت زمانی کوتاه را بر روی پل سپری می‌کنند تا به انتهای پل برسند. در این پروژه شما فقط از سمافور برای پیاده سازی استفاده خواهید کرد.

ادامه مطلب...
برنامه تعمیرگاه با استفاده از مانیتور در سی شارپ

در این برنامه یک تعمیرگاه با سه جایگاه متفاوت را بوسیله مانیتور (Monitor) در #C پیاده سازی نموده ایم.

عنوان پروژه : تعمیرگاهی با سه جایگاه

برنامه نویسی : علی علیخانی

زبان برنامه نویسی : #C

نسخه نرم افزار : Visual Studio 2008

حجم فایل : ۷۷ کیلوبایت

 

توضیحات :

 دراین برنامه شما یک تعمیرگاه ماشین را پیاده سازی خواهید نمود ، بدین طریق که برای هر ماشین یک Thread تعریف می‌شود ، این تعمیرگاه شامل سه جایگاه برای تنظیم باد ، تعویض لنت و تنظیم موتور است که هرکدام زمان متفاوتی برای تعمیر و تنظیم ماشین می خواهند. یک ماشین ممکن است به هر سه ، دو ، و یا فقط یکی از جایگاه ها نیاز داشته باشد . شما در این پروژه با استفاده از مانیتور باید بحث کنترل ناحیه بحرانی در این برنامه همروند را اجرا نمایید. لیست هر جایگاه به ترتیب شماره ماشین ها مرتب شده است ولی خروج ماشین ها از لیست به زمان ورود ماشین مربوطه به لیست آن جایگاه دارد که می‌توانید این روند را هرطور که مایل هستید تغییر دهید.

ادامه مطلب...