INNER CODE UNIT · Java

enqueue

apache/dubbo · dubbo-common/src/main/java/org/apache/dubbo/common/BatchExecutorQueue.java:42

    public void enqueue(T message, Executor executor) {
        queue.add(message);
        scheduleFlush(executor);
    }

    protected void scheduleFlush(Executor executor) {
        if (scheduled.compareAndSet(false, true)) {
            executor.execute(() -> this.run(executor));
        }
    }

    private void run(Executor executor) {
        try {
            Queue<T> snapshot = new LinkedList<>();
            T item;
            while ((item = queue.poll()) != null) {
                snapshot.add(item);
            }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…