تیم جاوا در Oracle در حال کار برای رسیدگی به دو مورد رایج است که در آنها یک رشته مجازی پارک یا بلوک می شود و رشته اصلی اصلی منتشر نمی شود.
رشتههای مجازی جاوا، که در JDK 21 در سپتامبر ۲۰۲۳ برای آسانتر کردن نوشتن و نگهداری برنامههای همزمان معرفی شدند، از یک مشکل “پین کردن” رنج میبرند که با روش های همگام یا عبارات همگام شده.
Oracle مشکل پین کردن رشته مجازی را این هفته در وبسایت Inside Java. دو مورد متداول شامل یک پارک رشته مجازی در یک روش همگامسازی شده و مسدود کردن رشته مجازی هنگام ورود به یک روش همگامسازی شده است، زیرا نمایشگر مرتبط شی توسط رشته دیگری نگه داشته میشود. در هر دو مورد، نخ حامل یا بومی برای انجام کارهای دیگر آزاد نمی شود. طبق پست وبلاگ، پین کردن رشته مجازی می تواند بر عملکرد و مقیاس پذیری تأثیر بگذارد و به طور بالقوه منجر به گرسنگی و بن بست شود.
بیلدهای دسترسی اولیه جدید برای Java’s Project Loom تغییراتی را در اجرای مانیتور شی که پین نمیشوند، ارائه میکند. در این دو مورد رایج تیم Loom به دنبال کمک از کاربران برای آزمایش قابلیت اطمینان و عملکرد این مانیتورهای شی به روز شده با کدهایی است که از رشته های مجازی استفاده می کند و با کتابخانه هایی که به شدت همگام هستند. برای گزارش یک مشکل، توسعه دهندگان باید از لیست پستی Loom استفاده کنند.
Project Loom پروژه OpenJDK است که ویژگیهای JVM و APIها را برای پشتیبانی از همزمانی سبک توسعه میدهد. طبق گفته Oracle، رشتههای مجازی که در JDK 19 و JDK 20 پیشنمایش شدهاند، رشتههای سبک وزنی هستند که بهطور چشمگیری تلاش برای نوشتن، نگهداری و مشاهده برنامههای همزمان با کارایی بالا را کاهش میدهند. علیرغم مشکل پین کردن، اوراکل گفت که موضوعات مجازی بسیار خوب توسط جامعه و اکوسیستم جاوا مورد استقبال قرار گرفته است.
پست های مرتبط
موضوعات مجازی جاوا با مشکل پین کردن برخورد کردند
موضوعات مجازی جاوا با مشکل پین کردن برخورد کردند
موضوعات مجازی جاوا با مشکل پین کردن برخورد کردند