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

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




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

نام تاپيک: creating semaphore

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Mar 2007
    پست ها
    195

    پيش فرض creating semaphore

    سلام
    لطفا طریقه ساخت یک semaphore را بگویید و هر خط آن را توضیح دهید که چه عملی انجام می دهد.
    مرسی

  2. #2
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوباره سلام.
    در مورد Semaphore که صحبت کردیم. بهتر بود موضوع در Win32-Platform بود که واضح تر باشه.
    با استفاده از تابع semget میتونید یک Semaphore ایجاد کنید.
    مثلا :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    الان ما یک Semaphore ایجاد کردیم البته به صورت private. میتونستیم یک ID مثلا 100 به این semaphore
    نسبت بدیم. (به جای IPC_PRIVATE )
    خب بعد از ایجاد کردن این semaphore باید اونرو initialize کنیم. که این کار هم با استفاده از semctl میتونیم
    انجام بدیم.
    مثلا :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خب چون ما یک دونه semaphore داشتیم آرگومان دوم مقدارش میشه 0 (اولین semaphore)
    و با استفاده از آرگومان چهارم مقدار semaphore مون رو set میکنیم که در اینجا مقدارش رو برابر با 3 گذاشتم.
    گرچه بهتره به جای عدد گذاری مستقیم از union semun استفاده میکردیم که در اینجا مهم نیست.
    حالا میمونه استفاده از semaphore که باستفاده از semop و یک struct انجام میشه. با استفاده از این struct
    مقدار semaphore رو زیاد یا کم میکنیم.
    به این شکل :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    با کد بالا مقدار semaphore رو یکی کم میکنیم. وقتی باید این کار رو انجام بدیم که مثلا process ما شروع
    به فعالیت میکنه و وقتی که کارش تموم شد از کد پایین استفاده میکنیم.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    سعی کردم خلاصه و مفید توضیح بدم.
    اگه براتون مشکلی پیش اومد اطلاع بدید.

Thread Information

Users Browsing this Thread

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

User Tag List

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

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