diff options
author | Eike Stepper | 2012-01-14 10:27:01 +0000 |
---|---|---|
committer | Eike Stepper | 2012-01-14 10:27:01 +0000 |
commit | 0266166cb9ff9535c150250073ea1e57b42d2693 (patch) | |
tree | c006a3bc0ba1f6e1d8a2bc032eedc346f71eab0d /plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/OnePendingExecutor.java | |
parent | 7416443692cdda72d1f704ea4fc5ececcc669df7 (diff) | |
download | cdo-0266166cb9ff9535c150250073ea1e57b42d2693.tar.gz cdo-0266166cb9ff9535c150250073ea1e57b42d2693.tar.xz cdo-0266166cb9ff9535c150250073ea1e57b42d2693.zip |
Adjusted copyrights to 2012
Diffstat (limited to 'plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/OnePendingExecutor.java')
-rw-r--r-- | plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/OnePendingExecutor.java | 128 |
1 files changed, 64 insertions, 64 deletions
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/OnePendingExecutor.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/OnePendingExecutor.java index 92a9cf5983..1e40efdb89 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/OnePendingExecutor.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/OnePendingExecutor.java @@ -1,64 +1,64 @@ -/* - * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) 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: - * Eike Stepper - initial API and implementation - */ -package org.eclipse.net4j.util.concurrent; - -import java.util.concurrent.Executor; - -public class OnePendingExecutor implements Executor -{ - private Runnable command; - - private Thread thread; - - public OnePendingExecutor() - { - } - - public synchronized void execute(Runnable command) - { - if (this.command != null) - { - throw new IllegalStateException("One command already pending"); //$NON-NLS-1$ - } - - this.command = command; - if (thread == null) - { - thread = new Thread() - { - @Override - public void run() - { - for (;;) - { - Runnable command; - synchronized (OnePendingExecutor.this) - { - if (OnePendingExecutor.this.command == null) - { - thread = null; - return; - } - - command = OnePendingExecutor.this.command; - OnePendingExecutor.this.command = null; - } - - command.run(); - } - } - }; - - thread.setDaemon(true); - thread.start(); - } - } -} +/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.util.concurrent;
+
+import java.util.concurrent.Executor;
+
+public class OnePendingExecutor implements Executor
+{
+ private Runnable command;
+
+ private Thread thread;
+
+ public OnePendingExecutor()
+ {
+ }
+
+ public synchronized void execute(Runnable command)
+ {
+ if (this.command != null)
+ {
+ throw new IllegalStateException("One command already pending"); //$NON-NLS-1$
+ }
+
+ this.command = command;
+ if (thread == null)
+ {
+ thread = new Thread()
+ {
+ @Override
+ public void run()
+ {
+ for (;;)
+ {
+ Runnable command;
+ synchronized (OnePendingExecutor.this)
+ {
+ if (OnePendingExecutor.this.command == null)
+ {
+ thread = null;
+ return;
+ }
+
+ command = OnePendingExecutor.this.command;
+ OnePendingExecutor.this.command = null;
+ }
+
+ command.run();
+ }
+ }
+ };
+
+ thread.setDaemon(true);
+ thread.start();
+ }
+ }
+}
|