تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 8 از 8

نام تاپيک: سوال درمورد Thread

  1. #1
    اگه نباشه جاش خالی می مونه SH@HIN's Avatar
    تاريخ عضويت
    Aug 2007
    محل سكونت
    unknown
    پست ها
    303

    پيش فرض سوال درمورد Thread

    سلام دوستان
    من دارم یه بازی رو ادیت میکنم که سورسش به زبان C++ هست ، الان برای انجام یه کاری نیاز به استفاده از قابلیت MultiThreading دارم، من از SDL برای این کار استفاده میکنم.
    میخواستم بدونم وقتی که یک thread ایجاد میشه با دستور SDL_CreateThread بعد از اتمام کارش باید از بین بره یا نیازی نیست؟!
    Last edited by SH@HIN; 19-01-2013 at 02:08.

  2. #2
    کاربر فعال انجمن گنو/لینوکس Open-Source's Avatar
    تاريخ عضويت
    Aug 2008
    محل سكونت
    usr/src/linux/
    پست ها
    763

    پيش فرض

    نه نیازی به این کار نیست.
    وقتی thread یک تابعی رو اجرا میکنه، به محض اتمام کار تابع (return) ، کار thread هم تموم میشه.

    - (البته این یه حالت نرمال هستش و توی POSIX threads این اتفاق میافته - در مورد SDL هم توی [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] همین رو گفته).

  3. 3 کاربر از Open-Source بخاطر این مطلب مفید تشکر کرده اند


  4. #3
    اگه نباشه جاش خالی می مونه SH@HIN's Avatar
    تاريخ عضويت
    Aug 2007
    محل سكونت
    unknown
    پست ها
    303

    پيش فرض

    ممکنه که راجع به Mutex هم یکم توضیح بدین،و بگید که چه کاربردی داره؟!

  5. #4
    کاربر فعال انجمن گنو/لینوکس Open-Source's Avatar
    تاريخ عضويت
    Aug 2008
    محل سكونت
    usr/src/linux/
    پست ها
    763

    پيش فرض

    توی مبحث MultiThreading یه نکته وجود داره، اونم استفاده همزمان چندتا thread از یه منبع مشترک هستش که اگه این موضوع مدیریت نشه، بطور حتم نتایج وخیمی در پی خواهد داشت.
    کار mutex همینه؛ یعنی قابلیت استفاده از منابع مشترک بین thread ها رو برا ما فراهم میکنه. به این صورت که وقتی یه thread از یه منبعی استفاده میکنه اون منبع lock میشه و سایر thread ها نمیتونن ازش استفاده کنن تا زمانی که کار thread با منبع تموم بشه و اونو رها کنه.

  6. 3 کاربر از Open-Source بخاطر این مطلب مفید تشکر کرده اند


  7. #5
    اگه نباشه جاش خالی می مونه SH@HIN's Avatar
    تاريخ عضويت
    Aug 2007
    محل سكونت
    unknown
    پست ها
    303

    پيش فرض

    توی مبحث MultiThreading یه نکته وجود داره، اونم استفاده همزمان چندتا thread از یه منبع مشترک هستش که اگه این موضوع مدیریت نشه، بطور حتم نتایج وخیمی در پی خواهد داشت.
    کار mutex همینه؛ یعنی قابلیت استفاده از منابع مشترک بین thread ها رو برا ما فراهم میکنه. به این صورت که وقتی یه thread از یه منبعی استفاده میکنه اون منبع lock میشه و سایر thread ها نمیتونن ازش استفاده کنن تا زمانی که کار thread با منبع تموم بشه و اونو رها کنه.
    این قسمتی که گفتید "استفاده همزمان چندتا thread از یه منبع مشترک هستش" یعنی قابلیتی هم هست که مشخص کنیم thread ها از چند منبع استفاده کنند؟!
    بعد منظورتون از منبع دقیقا چه قسمتی هایی هست؟! سیستم عامل یا منابع سخت افزاری؟!

  8. #6
    کاربر فعال انجمن گنو/لینوکس Open-Source's Avatar
    تاريخ عضويت
    Aug 2008
    محل سكونت
    usr/src/linux/
    پست ها
    763

    پيش فرض

    منبع هر چیزی ممکنه باشه. متغییر، فایل، دیتابیس، پرت سخت افزاری و... .

    به این فکر کن که چندتا thread همزمان باید در یه فایل بنویسند،‌ خوب در هر لحظه فقط باید یه thread این کار رو بکنه پس باید اونا رو مدیریت کنیم.

  9. 3 کاربر از Open-Source بخاطر این مطلب مفید تشکر کرده اند


  10. #7
    اگه نباشه جاش خالی می مونه SH@HIN's Avatar
    تاريخ عضويت
    Aug 2007
    محل سكونت
    unknown
    پست ها
    303

    پيش فرض

    منبع هر چیزی ممکنه باشه. متغییر، فایل، دیتابیس، پرت سخت افزاری و... .

    به این فکر کن که چندتا thread همزمان باید در یه فایل بنویسند،‌ خوب در هر لحظه فقط باید یه thread این کار رو بکنه پس باید اونا رو مدیریت کنیم.
    آهان!
    من برداشتم غلط بود از منبع،فکر میکردم منظور منابع سخت افزاری هست که اجرای ترد ها رو کنترل میکنه !
    ممنون

    راستی بحث semaphore ها هم مربوط به multithreading میشه؟
    Last edited by SH@HIN; 19-01-2013 at 22:56.

  11. #8
    کاربر فعال انجمن گنو/لینوکس Open-Source's Avatar
    تاريخ عضويت
    Aug 2008
    محل سكونت
    usr/src/linux/
    پست ها
    763

    پيش فرض

    اگه اشتباه نکنم، semaphore هم یه تکنیک برای مدیریت منابع اشتراکی بین پروسس هاست و بعضی سیستم عامل ها برای اجتناب از بن بست به جای mutex و سایر روش ها از semaphore استفاده میکنند. و فکر میکنم semaphore نسبت به mutex از انعطاف بیشتری برخوردار بود.

  12. 3 کاربر از Open-Source بخاطر این مطلب مفید تشکر کرده اند


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •