1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

[211523] Added an ImmediateExecutor implementation.

This commit is contained in:
Pawel Piech 2007-11-30 01:16:29 +00:00
parent a3649d568b
commit 0c476c0d38
3 changed files with 33 additions and 9 deletions

View file

@ -0,0 +1,31 @@
/*******************************************************************************
* Copyright (c) 2007 Wind River Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
package org.eclipse.dd.dsf.concurrent;
import java.util.concurrent.Executor;
/**
* Executor that executes a runnable immediately as it is submitted. This
* executor is useful for clients that need to create <code>RequestMonitor</code>
* objects, but which do not have their own executor.
* @see RequestMonitor
*/
public class ImmediateExecutor implements Executor {
private static ImmediateExecutor fInstance = new ImmediateExecutor();
public static Executor getInstance() {
return fInstance;
}
public void execute(Runnable command) {
command.run();
}
}

View file

@ -12,7 +12,6 @@ package org.eclipse.dd.dsf.concurrent;
import java.util.concurrent.CancellationException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
@ -112,13 +111,7 @@ abstract public class Query<V> extends DsfRunnable
* shut down. In that case, the DSF executor may throw a
* RejectedExecutionException which would have to be handled by the query.
*/
Executor rmExecutor = new Executor() {
public void execute(Runnable command) {
command.run();
}
};
execute(new DataRequestMonitor<V>(rmExecutor, null) {
execute(new DataRequestMonitor<V>(ImmediateExecutor.getInstance(), null) {
@Override
public void handleCompleted() {
if (getStatus().isOK()) fSync.doSet(getData());

View file

@ -159,7 +159,7 @@ public class RequestMonitor {
@Override
public String toString() {
return "RequestMonitor: " + getStatus().toString(); //$NON-NLS-1$
return "RequestMonitor (" + super.toString() + "): " + getStatus().toString(); //$NON-NLS-1$ //$NON-NLS-2$
}
/**