PDA

View Full Version : سوال: آیا دو دستور العمل را می توان همزمان اجرا کرد؟؟؟



rezaheidarida
شنبه 26 شهریور 1390, 22:34 عصر
می دونم ساختار اصلی c++ بر اساس ترتیب انتخاب تکرار هست
ولی یه چیزی ذهنم خیلی وقته مشغول کرده
اینکه میشه دو تیکه کد یا دستور العمل باهم اجرا کرد
مثلا دوتابع همزمان اجرا بشه
یا دو جمله یا کاراکتر همزمان در صفحه چاپ بشه؟؟؟

البته شاید اصل سوالم اشتباه باشه
نمی دونم!

glassysmart
شنبه 26 شهریور 1390, 23:52 عصر
بله میشه یا استفاده از
multitasking

rezaheidarida
یک شنبه 27 شهریور 1390, 09:03 صبح
ممنون ولی اینطوری که من سرچ کردم مخصوصا تو همین سایت
به نظر مبحث خیلی پیچیده ای می آد!
تایپیک های زیر را دیدم
http://barnamenevis.org/showthread.php?274251-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D9%87%D9%85-%D8%B2%D9%85%D8%A7%D9%86-%D8%AF%D9%88-%D8%AA%D8%A7%D8%A8%D8%B9&highlight=Multitasking
http://barnamenevis.org/showthread.php?177413-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%82%D8%AF%D9%85-%D8%A8%D9%87-%D9%82%D8%AF%D9%85-thread&highlight=Multitasking
http://barnamenevis.org/showthread.php?153359-MultiTask-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%A2%D9%86-%D8%AF%D8%B1-DBGrid-ListBox&highlight=Multitasking

هیچی هم نفهمیدم!

_hamid
یک شنبه 27 شهریور 1390, 15:39 عصر
باس کنترل بشه رفیق :)
مثلا وقتی تو یه cpu داری که فقط یه core داره با multitasking هم همزمان اجرا نمیشن! :دی
هر هسته در آن واحد فقط یک دستور رو اجرا می کنه! طبیعی هم هست.
حالا مثلا تو می خوای با multitasking یه کاری کنی که اینا با هم پیش برن... با هم پیش میرن اما اینجوری :
یک از این task یک از اون task... .
حالا اگر یه cpu داشته باشی که چندتا core داشته باشه هرکدوم می تونن یه دستور رو اجرا کننن.
مثلا من یه cpu دارم که ۴ تا هسته داره. در آن واحد cpu ـم می تونه ۴تا دستور(هر core یکی) رو اجرا کنه.
باحاله نه؟

.:saeed:.
یک شنبه 27 شهریور 1390, 17:05 عصر
جالب تر از اون کار با جی پی یو هاست . برای پردازش موازی .مثلا برای جی پی یو های شرکت nvidia تکنولوژی به نام CUDA وجود داره . برای اطلاعات اولیه به اینجا (http://developer.nvidia.com/category/zone/cuda-zone) سر بزنید

rezaheidarida
یک شنبه 27 شهریور 1390, 17:51 عصر
من دقیقا همچین مطلبی در مورد cpu های چند هسته ای خوندم دوست عزیز که این سوال برام پیش اومد
گرچه از قبل هم بعضی برنامه ها که می نوشتم خیلی دوست داشتم می تونستم دو سه دستور العمل باهم اجرا کنم

امیدوارم یکی پیدا بشه یه مثال ساده با کد بده که بفهمم چی به چیه!
مثلا بیاد یه کد بده دوتا تابع باهم اجرا بشن تو هر تابع هم مثلا یه محاسبه ساده انجام بشه و تو صفحه چاپ کنه!

_hamid
یک شنبه 27 شهریور 1390, 19:27 عصر
رضا جان فرق خاصی توش نیستا! مثل این می مونه که دوتا پروسه رو همزمان اجرا کنی از دوجا متفاوت اجرا کنی.
(در اصل تو نمی تونی با خروجی چاپ بفهمی که کدوم زودتر تموم میشه!
خروجی چاپ در واقع با صف یا همون queue درست شده که برو خودت تحقیق کنی بفهمی یعنی چی :دی
البته اینو می گم چون چاپ کردن خودش فلان تا دستوره و ممکنه قرقاطی شه ).


جالب تر از اون کار با جی پی یو هاست . برای پردازش موازی .مثلا برای جی پی یو های شرکت nvidia تکنولوژی به نام CUDA وجود داره . برای اطلاعات اولیه به اینجا (http://developer.nvidia.com/category/zone/cuda-zone) سر بزنید آره خداییش هماهنگی gpu و cpu خیلی جالبه ;)
باس برم تحقیق کنم ببینم چی جوری کار می کنه.