threadpool هو المنفذ مثل الاقتراع هو؟
-
11-09-2019 - |
سؤال
المنفذ Java هو (بقدر ما أفهمه) تجريد مفهوم الصفحات - شيء يمكن أن يقبل وتنفيذ المهام (تنفيذ).
أبحث عن استثناء مماثل لمفهوم الاقتراع. أحتاج إلى استطلاع باستمرار (Dequeue) عناصر من قائمة انتظار محددة (والتي لا ينفذ BlockingQueue
)، وتنفيذها والنوم، وتكرر كل هذا حتى اغلاق.
هل هناك تجريد جاهز أو يجب أن أكتب شيئا بمفردي؟
(اقتراحات لقب أفضل هي موضع ترحيب)
المحلول
الاقتراع سهل:
Thread t = new Thread(new Runnable() {
public void run() {
try {
while (!t.isInterrupted()) {
Object item;
while ((item = queue.take()) == null) {//does not block
synchronized (lock) { lock.wait(1000L) } //spin on a lock
}
//item is not null
handle(item);
}
} catch (InterruptedException e) { }
}
});
t.start();
ربما تحتاج إلى إعادة صياغة سؤالك لأنني لست متأكدا تماما ما الذي تحاول فعله؟
لا تنتمي إلى StackOverflow