ورود

نسخه کامل مشاهده نسخه کامل : <> به چه معناست؟



Life24
30-12-2013, 22:39
سلام،
در لیست ما از <> استفاده میکنیم که نوع داده را مشخص می کند.
مثلا
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یک چیزی شبیه به آرایه اما با امکانات بیشتر که هر خانه اش int هست
که هر نوع داده ای حتی کلاس جای int میتونیم بزاریم . به طور کلی جنریک T
ما در مورد بعضی موارد <> همین معنا رو داره؟ مثل این لینک؟
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید اینجا یعنی چی؟ یعنی نوع ThreadLocal از نوع string هست ؟؟؟؟!!!!!!

_H2_
31-12-2013, 02:50
سلام
نمیدانم دقیقاً مشکلتان با مفهوم Generic است یا با کلاس ThreadLocal ؟!
Generic را ما زمانی در کدنویسی مان استفاده میکنیم که بخواهیم کد تولیدی ما با انواع مختلفی از type ها به درستی کار کند.
Generic را میتوان نوعی کامپایل دیر هنگام هم در نظر گرفت و نیز نوع های جنریک برای ورودی آرمان های متفاوت جنریکی TypeName های متفاوتی هم خواهند داشت..........

اما کلاس ThreadLocal یک نوع متغیر خاص تعریف میکند که مقدار این متغییر برای هر ریسمان میتواند متفاوت و مستقل باشد.
مثال:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
از X.Value میتوان خیلی شبیه Y استفاده کرد ولی Y برای تمام فراخوانی ها از همه ریسمان ها مشترک و یگانه خواهد بود در حالیکه X.Value از هر ریسمانی که اجرای کنیدف مقدارش در آن ریسمان مختص همان ریسمان نگه داری میشود و مقدار چندگانه ای در شرایط چند ریسمانی خواهد داشت (انگار که یک متغییر مجزا برای هر ریسمانمان تعریف کرده ایم)
شب خوش.