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

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




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

نام تاپيک: کامپایلر متغیر استاتیک ما را به اشتراک می گذارد!!

  1. #1
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    پيش فرض کامپایلر متغیر استاتیک ما را به اشتراک می گذارد!!

    با سلام به عزیزان
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در مثال بالا اعلام کرده ایم که متغیر ما [ThreadStatic] هست . یعنی مقدار را به اشتراک نگذار بین ترد ها. و هر کس برای خودش یک مقدار دارا است.

    در بحث متغیر ها ی استاتیک میدانیم که وقتی اعلان استاتیک می شود مقدارش بین همه ثابت است. پس به اشتراک گذاشته میشود.
    حال در مثال بالا ما باید برای متغیر filed حتما حتما static را بگذاریم. و گرنه خطا میدهد.
    یعنی از یک طرف با [ThreadStatic] میگیم به اشتراک نزار بین ترد ها و از ان طرف با static کردن متغیر سعی در چه کاری داریم؟

    ایا لینکی سایتی هست که بفهمیم این ترد ها نحوه حافظه گرفتن و متغیرها برایشان چگونه است؟ با تشکر

  2. این کاربر از Life24 بخاطر این مطلب مفید تشکر کرده است


  3. #2
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض

    هم آمورش می دهید هم سوال می کنید.

    static کردن در راستای استفاده ی سراسری نیست که بخواهیم بگوییم کارش این است. زمانی که متغیر را static می کنید یک حافظه ی ثابت بدان اختصاص می دهید. یعنی در همه جای برنامه این آدرس ثابت است برای همین هم هست که قابل دسترس هست. پس به دو دلیل:
    1-به ازای Thread های شما نقاط ثابتی در نظر گرفته شود.
    2-سعی در آن داریم که این عنصر همیشه در حافظه ی برنامه باشد. چرا؟ چون Thread ها در حافظه مقیم خواهند شد پس زمانی که با عنصری که مختص خودشان هست کار می کنند، باید مشخص باشد، زمان آغاز Thread مشخص نیست ولی زمانی که آغاز می کند نقطه ی مشخصی برای عناصر مورد نیاز وجود داشته باشد، حال می خواهد این عنصر یک اشاره گر null باشد ولی حداقل خود اشاره گر وجود داشته باشد و Thread بتواند بدان دسترسی ثابت داشته باشد.
    ----------------------------------
    اگر سایتی یافتید ما را هم بهره مند سازید.

    موفق باشید.
    Last edited by Msba; 11-08-2013 at 20:52.

  4. این کاربر از Msba بخاطر این مطلب مفید تشکر کرده است


  5. #3
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    پيش فرض

    سلام
    پس چه تفاوتی بین متغیر های سراسری و استاتیک وجود دارد؟
    بلاخره هر دو را میتوان در تمام حوزه کلاس استفاده کرد و تغیرات را برایشان اعمال کرد و در کل برنامه تغیر صورت بگیرد.
    استاتیک ها نمونه سازی نمیشوند.
    Last edited by Life24; 31-08-2013 at 09:31.

Thread Information

Users Browsing this Thread

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

User Tag List

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

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