concurrent-programming相关内容

我如何知道哪个ViewController是活动的?

我使用NSOperationQueue下载图片。 我要调用我的视图控制器的一个方法 reloadView 图像下载完成。 但是,当下载正在进行时,很可能用户已移动到其他视图。此另一个视图还将具有 reloadView 方法(例如,第一个视图显示已下载的图片总数,第二个显示下载图片的缩略图) 基本上我想要的是,每当图像下载完成,我应该能够调用活动视图控制器的 reloadView ..

在Java中启动/暂停/恢复方法

可能重复: 我想实现一个随时k-分类器,但我找不到一种方法来调用“classify(...)”方法一个特定的时间,暂停它,获得可用的结果之前,该方法被暂停,恢复该方法一段特定的时间,暂停 提前感谢! 解决方案 我发布了一个 PauseableThread 。 您可以使用 ReadWriteLock 实现暂停。如果你暂时抓住一个写锁定,每次你有机会暂停,那么你只需要paus ..

将多个参数传递给concurrent.futures.Executor.map?

concurrent.futures.Executor。 map 采用可变数目的迭代,从中调用给定的函数。 如果我有一个生成器可以生成正常解压缩的元组,那么应该如何调用它? 每个生成的元组作为映射的不同参数给出: args =((a,b)for(a, b)在c) 的结果executor.map(f,* args): pass b $ b 没有生成器,映射的所需参数可能 ..
发布时间:2016-12-26 19:59:04 Python

Javafx从线程更新UI,而不直接调用Platform.runLater

现在有人说,不适合使用 Platform.runLater()从非JavaFX线程更新UI和Oracle网站介绍一种使用绑定进行进度的方法条更新。在这里我想更新一个标签,所以这样编码: 任务任务= new任务(){ @Override protected Object call()throws Exception { int i = 0; while(true){ this.u ..

去内存消耗与许多goroutines

我试图检查Go将如何与100,000个goroutine执行。我写了一个简单的程序来产生许多例程,只打印一些公告。我将MaxStack的大小限制为只有512字节。但我注意到的是程序的大小不会减少。它消耗大约460 MB的内存,因此每个goroutine大约4 KB。我的问题是,我们可以设置最大堆栈大小低于“最小”堆栈大小(可能是4 KB)goroutines。我们如何设置Goroutine开始的最 ..
发布时间:2016-12-26 19:25:18 其他开发

使用细粒度锁的代码示例(JCR Jackrabbit?)

我正在进行一项学术研究,尝试开发一个编程工具,帮助实现细粒度的锁定函数,用于保持树状数据结构的并发程序。 例如,程序员可以编写接收树根节点并修改树(通过遍历某些路径并添加/删除节点)的一些函数,该工具将帮助他找到代码节点中的哪里应该被锁定和它们可以被释放 - 所以这些函数可以在同一棵树上同时执行。 我在寻找一些现实的代码示例,使用了粒度锁定,或者它可以用于更好的性能,但是程序员太懒惰地 ..
发布时间:2016-12-26 19:09:07 其他开发

ConcurrentHashMap返回一个弱一致的迭代器,为什么我们应该使用它?

我正在读“Java Concurrecny”这本书。在第85页第5.2.1节中,它讨论了ConcurrentHashMap及其优点。然而,在一部分中,书籍声称ConcurrentHashMap返回的迭代器的弱一致性 。这个 意味着这个迭代器可以容忍并发修改, 遍历元素,因为它们在构造迭代器时存在,并且 可以(但不能保证)反映对集合 的修改构造迭代器。 为什么我理解并发程序中的整 ..

Java:引用转义

请阅读以下代码是“不安全构造”的示例,因为它允许此引用转义。我不能得到如何'这'逃脱。我对java世界很新。任何一个可以帮助我理解这一点。 public class ThisEscape { public ThisEscape(EventSource source){ source.registerListener( new EventListener(){ public void ..
发布时间:2016-12-26 15:50:46 Java开发

如何在java中停止执行ThreadPool的执行?

我正在使用java执行程序同时运行更多的线程。 我有一组Runnable对象,我将它分配给Exceutors.Executor工作正常 ,每一件事情都很好。但所有的任务在池中执行后,java程序不是终止,我认为Executor需要一些时间来杀死线程。任何人帮助我减少执行所有任务后执行器所需的时间。 解决方案 ExecutorService 类只有两个方法: shutdown()和 sh ..
发布时间:2016-12-26 15:27:44 其他开发

Java阻塞问题:为什么JVM块线程在许多不同的类/方法?

更新:这看起来像是内存问题。 3.8 Gb Hprof文件指示当发生此“阻塞”时,JVM正在转储其堆。我们的操作团队发现网站没有响应,采取堆栈跟踪,然后关闭实例。我相信他们在堆转储完成之前关闭了网站。日志具有无错误/异常/问题的证据 - 可能是因为JVM在生成错误消息之前已被杀死。 原问题 我们有一个最近的情况,应用程序出现 - 到最终用户 - 挂。我们在应用程序重新启动之前得到了一个堆栈 ..

STL算法和并发编程

如果我为我的编译器启用OpenMP,可以并行执行任何STL算法/容器操作,如 std :: fill , std :: transform 我目前正在与MSVC 2008合作。 或者也许有其他方法使它同时发生? 谢谢。 解决方案 有许多项目旨在具有并行的STL类型库: OpenMP多线程模板库 libstdc ++ parallel HPC ++并行标准模板库 并行模式 ..
发布时间:2016-12-26 15:20:49 C/C++开发

如何解释“死锁”更好?

我在努力用简单的话解释“死锁”在线程,所以请帮助。什么可能是“死锁”(例如,在Java中)的最好的例子,以及它如何发生在步骤和如何防止它?但没有深入细节。我知道这就像问两个相反的事情,但仍然。如果你有任何以前的并行编程培训经验 - 这将是一流的! 解决方案 Jack和Jill恰好想三明治。两人都需要一片面包,所以他们都去拿面包和一把刀。 杰克先吃刀,吉尔先吃面包。现在杰克试图找到面包 ..

yield()的主要用途是什么,它与join()和interrupt()有什么不同?

我对在Java中使用 yield()方法有点困惑,特别是在下面的示例代码中。我也读过,yield()是用来防止执行一个线程。 我的问题是: 我相信下面的代码在使用 yield()时和不使用它时会产生相同的输出。这是正确的吗? 事实上, yield() / p> yield() / code>和 interrupt()方法? 代码示例: public class ..