برو به محتوای اصلی
مزدک صدقی
مدیر مارکتینگ و شبکه‌های اجتماعی
۲ سال پیش پرسیده شده

مفهوم AtomicLong در جاوا چیست؟

من کجام؟ اینجا کجاست؟

در جوابکو می‌تونید در مورد هر موضوعی سوال کنید، به سوالای بقیه جواب بدید و تجربه‌تون رو به اشتراک بگذارید!

کاربرد اصلی AtomicLong برای برنامه‌نویسی multi thread است و در محیط‌هایی که همزمان چند thread می‌خواهند به مقدار متغییر دسترسی داشته باشند کاربرد دارد و سرعت پایین‌تری نسبت به Long دارد.

برای دستکاری مقدار درون AtomicLong، عملگرهای atomic در اختیار ما قرار داده شده است که وقتی در محیط multi thread آنها را فراخوانی می‌کنیم خیالمان راحت است که از زمان شروع و خاتمه آن عملگر، هیچ thread دیگری نمی‌تواند مقدار را تغییر دهد.

مفهوم AtomicLong از جاوا 5 به JDK اضافه شده است و لاک گذاشتن برای عملگرهای atomic را با استفاده از امکانات توکار CPU انجام می‌دهد (compare and swap) که از سرعت بالایی برخوردار است.