Java Concurrency in Practice
تردها (Threads) بخشی اساسی از پلتفرم جاوا هستند. همانطور که پردازندههای چند هستهای تبدیل به یک چیز عادی میشوند، استفاده موثر از همزمانی برای ساخت برنامههایی با کارایی بالا نیز ضروری میشود. جاوا SE 5 و 6 با بهبود هایی در ماشین مجازی جاوا برای پشتیبانی از کلاسهای همزمانی با کارایی بالا و مقیاس پذیر و مجموعه ای غنی از عناصر سازنده همزمانی جدید، گام بزرگی رو به جلو برای توسعه برنامههای کاربردی همزمان برداشته اند.
در کتاب Java Concurrency in Practice، سازندگان این امکانات جدید نه تنها نحوه کار و چگونگی استفاده از آنها را توضیح میدهند، بلکه انگیزه و الگوهای طراحی پشت آنها را نیز شرح داده اند. با این حال، توسعه، آزمایش و اشکال زدایی برنامههای چند نخی همچنان میتواند بسیار دشوار باشد؛ ایجاد برنامههای همزمانی که به نظر کار میکنند آسان است، اما درست زمانی که مهم است شکست میخورند: در عملیات، زیر بار سنگین.
کتاب Java Concurrency in Practice (همزمانی جاوا در عمل) زیربنای تئوری و تکنیکهای واقعی برای ساخت برنامههای همزمان قابل اعتماد، مقیاس پذیر و قابل نگهداری را آموزش میدهد. این کتاب به جای ارائه فهرستی از APIها و مکانیسمهای همزمانی، قوانین طراحی، الگوها و مدلهای ذهنی را ارائه میکند که ساخت برنامههای همزمان را که هم صحیح و هم کارآمد هستند، آسانتر میکند.
مطالبی که کتاب همزمانی جاوا در عمل ارائه میکند عبارتند از:
- مفاهیم پایه همزمانی و thread safety
- تکنیکهایی برای ساخت و تشکیل کلاسهای thread safe
- استفاده از اجزای اصلی همزمانی در java.util.concurrent
- بایدها و نبایدهای بهینه سازی عملکرد
- تست برنامههای همزمان
- موضوعات پیشرفته مانند متغیرهای اتمی، الگوریتمهای غیر مسدود کننده و مدل حافظه جاوا