يعد Project Loom جهدًا مستمرًا من قبل مجتمع OpenJDK لتقديم خيوط خفيفة الوزن وفعالة، تُعرف باسم الألياف، واستمراريات لمنصة Java. تهدف هذه الميزات الجديدة إلى تبسيط البرمجة المتزامنة وتحسين قابلية التوسع لتطبيقات Java.
يهدف Project Loom إلى تحسين نموذج التزامن في Java من خلال تقديم الألياف، وهي خيوط خفيفة الوزن تتم إدارتها بواسطة JVM. على عكس الخيوط التقليدية، تتمتع الألياف بحمل أقل بكثير، مما يجعل من الممكن إنشاء وإدارة الملايين منها في وقت واحد. يقدم هذا المشروع أيضًا الاستمرارات، والتي تسمح بتعليق واستئناف العمليات الحسابية عند نقاط محددة.
إليك مثال لكيفية استخدام الألياف في تطبيق Java:
import java.util.concurrent.Executors; import java.util.concurrent.ExecutorService; public class LoomExample { public static void main(String[] args) { ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor(); for (int i = 0; i { System.out.println("Hello from fiber " Thread.currentThread().getName()); }); } executor.shutdown(); } }
في هذا المثال، قمنا بإنشاء منفذ يستخدم الخيوط الافتراضية (الألياف). ثم نرسل مليون مهمة إلى هذا المنفذ. تقوم كل مهمة بطباعة رسالة مع اسم سلسلة الرسائل الحالية.
تسمح لك الاستمرارات بإيقاف العمليات الحسابية مؤقتًا واستئنافها. إليك مثال أساسي:
import jdk.incubator.concurrent.Continuation; import jdk.incubator.concurrent.ContinuationScope; public class ContinuationExample { public static void main(String[] args) { ContinuationScope scope = new ContinuationScope("example"); Continuation continuation = new Continuation(scope, () -> { System.out.println("Part 1"); Continuation.yield(scope); System.out.println("Part 2"); }); while (!continuation.isDone()) { continuation.run(); } } }
في هذا المثال، يطبع الاستمرار "الجزء 1"، ويعيد التحكم إلى الموضوع الرئيسي، ثم يستأنف طباعة "الجزء 2".
تم إعداد Project Loom لإحداث ثورة في الطريقة التي نتعامل بها مع التزامن في Java. من خلال تقديم ألياف خفيفة الوزن واستمراريات، فإنه يوفر نموذجًا أكثر قابلية للتطوير وكفاءة للبرمجة المتزامنة. يمكن للمطورين أن يتطلعوا إلى كتابة تطبيقات متزامنة أبسط وأكثر أداءً باستخدام هذه الميزات الجديدة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3