java.util.concurrent.ForkJoinPool.growSubmissionQueue()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(2.1k)|赞(0)|评价(0)|浏览(120)

本文整理了Java中java.util.concurrent.ForkJoinPool.growSubmissionQueue()方法的一些代码示例,展示了ForkJoinPool.growSubmissionQueue()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ForkJoinPool.growSubmissionQueue()方法的具体详情如下:
包路径:java.util.concurrent.ForkJoinPool
类名称:ForkJoinPool
方法名:growSubmissionQueue

ForkJoinPool.growSubmissionQueue介绍

[英]Creates or doubles submissionQueue array. Basically identical to ForkJoinWorkerThread version.
[中]创建或加倍submissionQueue数组。基本上与ForkJoinWorkerThread版本相同。

代码示例

代码示例来源:origin: org.apidesign.bck2brwsr/emul

  1. /**
  2. * Enqueues the given task in the submissionQueue. Same idea as
  3. * ForkJoinWorkerThread.pushTask except for use of submissionLock.
  4. *
  5. * @param t the task
  6. */
  7. private void addSubmission(ForkJoinTask<?> t) {
  8. final ReentrantLock lock = this.submissionLock;
  9. lock.lock();
  10. try {
  11. ForkJoinTask<?>[] q; int s, m;
  12. if ((q = submissionQueue) != null) { // ignore if queue removed
  13. long u = (((s = queueTop) & (m = q.length-1)) << ASHIFT)+ABASE;
  14. UNSAFE.putOrderedObject(q, u, t);
  15. queueTop = s + 1;
  16. if (s - queueBase == m)
  17. growSubmissionQueue();
  18. }
  19. } finally {
  20. lock.unlock();
  21. }
  22. signalWork();
  23. }

代码示例来源:origin: org.codehaus.jsr166-mirror/jsr166

  1. /**
  2. * Enqueues the given task in the submissionQueue. Same idea as
  3. * ForkJoinWorkerThread.pushTask except for use of submissionLock.
  4. *
  5. * @param t the task
  6. */
  7. private void addSubmission(ForkJoinTask<?> t) {
  8. final ReentrantLock lock = this.submissionLock;
  9. lock.lock();
  10. try {
  11. ForkJoinTask<?>[] q; int s, m;
  12. if ((q = submissionQueue) != null) { // ignore if queue removed
  13. long u = (((s = queueTop) & (m = q.length-1)) << ASHIFT)+ABASE;
  14. UNSAFE.putOrderedObject(q, u, t);
  15. queueTop = s + 1;
  16. if (s - queueBase == m)
  17. growSubmissionQueue();
  18. }
  19. } finally {
  20. lock.unlock();
  21. }
  22. signalWork();
  23. }

代码示例来源:origin: jtulach/bck2brwsr

  1. /**
  2. * Enqueues the given task in the submissionQueue. Same idea as
  3. * ForkJoinWorkerThread.pushTask except for use of submissionLock.
  4. *
  5. * @param t the task
  6. */
  7. private void addSubmission(ForkJoinTask<?> t) {
  8. final ReentrantLock lock = this.submissionLock;
  9. lock.lock();
  10. try {
  11. ForkJoinTask<?>[] q; int s, m;
  12. if ((q = submissionQueue) != null) { // ignore if queue removed
  13. long u = (((s = queueTop) & (m = q.length-1)) << ASHIFT)+ABASE;
  14. UNSAFE.putOrderedObject(q, u, t);
  15. queueTop = s + 1;
  16. if (s - queueBase == m)
  17. growSubmissionQueue();
  18. }
  19. } finally {
  20. lock.unlock();
  21. }
  22. signalWork();
  23. }

相关文章

ForkJoinPool类方法