當前位置: 首頁>>代碼示例>>Java>>正文


Java RunnableFuture.run方法代碼示例

本文整理匯總了Java中java.util.concurrent.RunnableFuture.run方法的典型用法代碼示例。如果您正苦於以下問題:Java RunnableFuture.run方法的具體用法?Java RunnableFuture.run怎麽用?Java RunnableFuture.run使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.util.concurrent.RunnableFuture的用法示例。


在下文中一共展示了RunnableFuture.run方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: resolve

import java.util.concurrent.RunnableFuture; //導入方法依賴的package包/類
@Override
public java.util.concurrent.Future<ProjectProblemsProvider.Result> resolve() {
    ProjectProblemsProvider.Result res;
    if (action != null) {
        action.actionPerformed(null);
        String text = (String) action.getValue(ACT_START_MESSAGE);
        if (text != null) {
            res = ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.RESOLVED, text);
        } else {
            res = ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.RESOLVED);
        }
    } else {
        res = ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.UNRESOLVED, "No resolution for the problem");
    }
    RunnableFuture<ProjectProblemsProvider.Result> f = new FutureTask(new Runnable() {
        @Override
        public void run() {
        }
    }, res);
    f.run();
    return f;
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:23,代碼來源:JUnitProjectOpenedHook.java

示例2: processQueue

import java.util.concurrent.RunnableFuture; //導入方法依賴的package包/類
void processQueue()
{
   try
   {
      while (true && !shutdown && !checkEndThread())
      {
         do
         {
            RunnableFuture task = take();
            task.run();
         }
         while (queue.size() > 0);

         //            if (!shutdown)
         //            {
         //               Thread.sleep(delay);
         //            }
         //
         //            if (queue.size() == 0)
         //               break;
      }
   }
   catch (Exception ex)
   {
      ex.printStackTrace();
   }
}
 
開發者ID:wellsb1,項目名稱:fort_j,代碼行數:28,代碼來源:Executor.java

示例3: beforeExecute

import java.util.concurrent.RunnableFuture; //導入方法依賴的package包/類
@Override
protected void beforeExecute(Thread thread, Runnable lowPriorityTask) {
    // Run all high priority tasks in queue first, then low priority
    RunnableFuture<?> priorityTask;
    while ( ( priorityTask = priorityTasks.poll() ) != null ) {
        priorityTask.run();
    }
    super.beforeExecute( thread, lowPriorityTask );
}
 
開發者ID:agroal,項目名稱:agroal,代碼行數:10,代碼來源:PriorityScheduledExecutor.java

示例4: runIfNotDoneAndGet

import java.util.concurrent.RunnableFuture; //導入方法依賴的package包/類
public static <T> T runIfNotDoneAndGet(RunnableFuture<T> future) throws ExecutionException, InterruptedException {

		if (null == future) {
			return null;
		}

		if (!future.isDone()) {
			future.run();
		}

		return future.get();
	}
 
開發者ID:axbaretto,項目名稱:flink,代碼行數:13,代碼來源:FutureUtil.java

示例5: resolve

import java.util.concurrent.RunnableFuture; //導入方法依賴的package包/類
@Override
@NbBundle.Messages({
    "LBL_ResolveProfile=Resolve Invalid Project Profile",
    "LBL_ResolveButton=OK",
    "AN_ResolveButton=Resolve",
    "AD_ResolveButton=Resolve the profile problems"
})
public Future<Result> resolve() {
    final JButton ok = new JButton(LBL_ResolveButton());
    ok.getAccessibleContext().setAccessibleName(AN_ResolveButton());
    ok.getAccessibleContext().setAccessibleDescription(AD_ResolveButton());
    final FixProfile panel = new FixProfile(ok, currentProfile, state);
    final DialogDescriptor dd = new DialogDescriptor(
            panel,
            LBL_ResolveProfile(),
            true,
            new Object[]{
        ok,
        DialogDescriptor.CANCEL_OPTION
    },
            ok,
            DialogDescriptor.DEFAULT_ALIGN,
            null,
            null);
    if (DialogDisplayer.getDefault().notify(dd) == ok) {
        return RP.submit(new Callable<ProjectProblemsProvider.Result>() {
            @Override
            public ProjectProblemsProvider.Result call() throws Exception {
                ProjectProblemsProvider.Status status = ProjectProblemsProvider.Status.UNRESOLVED;
                try {
                    ProjectManager.mutex().writeAccess(new Mutex.ExceptionAction<Void>() {
                        @Override
                        public Void run() throws IOException {
                            final boolean shouldUpdate = panel.shouldUpdateProfile();
                            if (shouldUpdate) {
                                final Profile newProfile = panel.getProfile();
                                final EditableProperties props = antProjectHelper.getProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH);
                                if (newProfile == null ||
                                    newProfile == Profile.DEFAULT) {
                                    props.remove(profileProperty);
                                } else {
                                    props.put(profileProperty, newProfile.getName());
                                }
                                antProjectHelper.putProperties(AntProjectHelper.PROJECT_PROPERTIES_PATH, props);
                            }
                            for (Reference rootToRemove : panel.getRootsToRemove()) {
                                rootToRemove.remove(antProjectHelper);
                            }
                            ProjectManager.getDefault().saveProject(
                                    FileOwnerQuery.getOwner(antProjectHelper.getProjectDirectory()));
                            return null;
                        }
                    });
                    status = ProjectProblemsProvider.Status.RESOLVED;
                } catch (MutexException e) {
                    Exceptions.printStackTrace(e);
                }
                return ProjectProblemsProvider.Result.create(status);
            }
        });
    }
    final RunnableFuture<Result> res = new FutureTask<Result>(
            new Callable<Result>() {
                @Override
                public Result call() {
                    return ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.UNRESOLVED);
                }
            });
    res.run();
    return res;
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:72,代碼來源:ProfileProblemsProviderImpl.java

示例6: setUp

import java.util.concurrent.RunnableFuture; //導入方法依賴的package包/類
@Override
protected void setUp() throws Exception {
    super.setUp();
    this.clearWorkDir();
    final RunnableFuture<Project[]> dummyFuture = new FutureTask<>(new Callable<Project[]>() {
        @Override
        public Project[] call() throws Exception {
            return new Project[0];
        }
    });
    dummyFuture.run();
    assertTrue(dummyFuture.isDone());
    OpenProject.future = dummyFuture;
    FileObject workDir = FileUtil.toFileObject(this.getWorkDir());
    assertNotNull("MasterFS is not configured.", workDir);
    this.srcRoot = workDir.createFolder("src");
    this.compileRoots = new FileObject[3];
    for (int i=0; i< this.compileRoots.length; i++) {
        this.compileRoots[i] = workDir.createFolder("lib_"+Integer.toString(i));
    }
    ClassPath cp = ClassPathSupport.createClassPath(this.compileRoots);
    GlobalPathRegistry.getDefault().register(ClassPath.COMPILE, new ClassPath[] {cp});
   this.execRoots = new FileObject[2];
    this.execRoots[0] = this.compileRoots[2];
    this.execRoots[1] = workDir.createFolder("lib_OnlyExec");
    cp = ClassPathSupport.createClassPath(this.execRoots);
    GlobalPathRegistry.getDefault().register (ClassPath.EXECUTE, new ClassPath[]{cp});
    this.libSourceRoots = new FileObject[2];
    for (int i=0; i< libSourceRoots.length; i++) {
        this.libSourceRoots[i] = workDir.createFolder ("libSrc_"+Integer.toString(i));
    }
    cp = ClassPathSupport.createClassPath (this.libSourceRoots);
    GlobalPathRegistry.getDefault().register (ClassPath.SOURCE, new ClassPath[]{cp});
    execTestDir = workDir.createFolder("exec");

    FileObject java9 = FileUtil.createFolder(workDir, "java9"); //NOI18N
    FileObject javaBase = FileUtil.createFolder(java9, "modules/java.base"); //NOI18N
    j9 = new J9(java9, javaBase);
    Lookup.getDefault().lookup(JavaPlatformProviderImpl.class).addPlatform(j9);
    Lookup.getDefault().lookup(MockSLQ.class).reset();
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:42,代碼來源:DefaultClassPathProviderTest.java

示例7: testEvents

import java.util.concurrent.RunnableFuture; //導入方法依賴的package包/類
/**
 * Checks that single event is fired during opening (closing) of projects
 */
public void testEvents() throws Exception {
    final File wd = getWorkDir();
    final File root1 = FileUtil.normalizeFile(new File (wd,"src1"));    //NOI18N
    final File root2 = FileUtil.normalizeFile(new File (wd,"src2"));    //NOI18N
    root1.mkdir();
    root2.mkdir();
    final ClassPathProvider cpp = new DefaultClassPathProvider ();
    final ClassPath defaultCompile = cpp.findClassPath(FileUtil.toFileObject(wd), ClassPath.COMPILE);
    assertNotNull(defaultCompile);
    assertFalse(contains(defaultCompile, Utilities.toURI(root1).toURL()));
    assertFalse(contains(defaultCompile, Utilities.toURI(root2).toURL()));
    final Listener listener = new Listener();
    defaultCompile.addPropertyChangeListener(listener);
    final GlobalPathRegistry regs = GlobalPathRegistry.getDefault();
    final ClassPath compileCpProject1 = ClassPathSupport.createClassPath(Utilities.toURI(root1).toURL());
    final ClassPath compileCpProject2 = ClassPathSupport.createClassPath(Utilities.toURI(root2).toURL());
    
    //Simulate projects open
    RunnableFuture<Project[]> barrier = new FutureTask<Project[]>(new Callable<Project[]>() {
        @Override
        public Project[] call() throws Exception {
            return new Project[0];
        }
    });
    OpenProject.future = barrier;

    regs.register(ClassPath.COMPILE, new ClassPath[]{compileCpProject1});
    assertFalse(contains(defaultCompile, Utilities.toURI(root1).toURL()));
    assertFalse(listener.awaitEvent());
    assertEquals(0, listener.get());
    regs.register(ClassPath.COMPILE, new ClassPath[]{compileCpProject2});
    assertFalse(contains(defaultCompile, Utilities.toURI(root2).toURL()));
    assertFalse(listener.awaitEvent());
    assertEquals(0, listener.get());
    barrier.run();
    assertTrue(listener.awaitEvent());
    assertEquals(1, listener.get());
    assertTrue(contains(defaultCompile, Utilities.toURI(root1).toURL()));
    assertTrue(contains(defaultCompile, Utilities.toURI(root2).toURL()));

    //Simulate projects close
    barrier = new FutureTask<Project[]>(new Callable<Project[]>() {
        @Override
        public Project[] call() throws Exception {
            return new Project[0];
        }
    });
    OpenProject.future = barrier;
    listener.reset();
    regs.unregister(ClassPath.COMPILE, new ClassPath[]{compileCpProject1});
    assertTrue(contains(defaultCompile, Utilities.toURI(root1).toURL()));
    assertFalse(listener.awaitEvent());
    assertEquals(0, listener.get());
    regs.unregister(ClassPath.COMPILE, new ClassPath[]{compileCpProject2});
    assertTrue(contains(defaultCompile, Utilities.toURI(root2).toURL()));
    assertFalse(listener.awaitEvent());
    assertEquals(0, listener.get());
    barrier.run();
    assertTrue(listener.awaitEvent());
    assertEquals(1, listener.get());
    assertFalse(contains(defaultCompile, Utilities.toURI(root1).toURL()));
    assertFalse(contains(defaultCompile, Utilities.toURI(root2).toURL()));
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:67,代碼來源:DefaultClassPathProviderTest.java

示例8: testSharedIncrementalStateDeRegistration

import java.util.concurrent.RunnableFuture; //導入方法依賴的package包/類
@Test
public void testSharedIncrementalStateDeRegistration() throws Exception {
	if (enableIncrementalCheckpointing) {
		AbstractKeyedStateBackend<Integer> backend = createKeyedBackend(IntSerializer.INSTANCE);
		try {
			ValueStateDescriptor<String> kvId =
				new ValueStateDescriptor<>("id", String.class, null);

			kvId.initializeSerializerUnlessSet(new ExecutionConfig());

			ValueState<String> state =
				backend.getPartitionedState(VoidNamespace.INSTANCE, VoidNamespaceSerializer.INSTANCE, kvId);

			Queue<IncrementalKeyedStateHandle> previousStateHandles = new LinkedList<>();
			SharedStateRegistry sharedStateRegistry = spy(new SharedStateRegistry());
			for (int checkpointId = 0; checkpointId < 3; ++checkpointId) {

				reset(sharedStateRegistry);

				backend.setCurrentKey(checkpointId);
				state.update("Hello-" + checkpointId);

				RunnableFuture<KeyedStateHandle> snapshot = backend.snapshot(
					checkpointId,
					checkpointId,
					createStreamFactory(),
					CheckpointOptions.forCheckpoint());

				snapshot.run();

				IncrementalKeyedStateHandle stateHandle = (IncrementalKeyedStateHandle) snapshot.get();
				Map<StateHandleID, StreamStateHandle> sharedState =
					new HashMap<>(stateHandle.getSharedState());

				stateHandle.registerSharedStates(sharedStateRegistry);

				for (Map.Entry<StateHandleID, StreamStateHandle> e : sharedState.entrySet()) {
					verify(sharedStateRegistry).registerReference(
						stateHandle.createSharedStateRegistryKeyFromFileName(e.getKey()),
						e.getValue());
				}

				previousStateHandles.add(stateHandle);
				backend.notifyCheckpointComplete(checkpointId);

				//-----------------------------------------------------------------

				if (previousStateHandles.size() > 1) {
					checkRemove(previousStateHandles.remove(), sharedStateRegistry);
				}
			}

			while (!previousStateHandles.isEmpty()) {

				reset(sharedStateRegistry);

				checkRemove(previousStateHandles.remove(), sharedStateRegistry);
			}
		} finally {
			IOUtils.closeQuietly(backend);
			backend.dispose();
		}
	}
}
 
開發者ID:axbaretto,項目名稱:flink,代碼行數:65,代碼來源:RocksDBStateBackendTest.java


注:本文中的java.util.concurrent.RunnableFuture.run方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。