concurrency相关内容

在Scala中逐行读取和处理文件

假设我需要应用两个函数 f:String => A 和 g:A => B 到一个大文本文件中的每一行,最终创建一个 B 的列表。 由于文件较大, f 和 g 是昂贵的我想使处理并发。我可以使用“并行集合”并执行类似 io.Source.fromFile(“data.txt”)。getLines.toList.par.map(l => g(f(l)),但不会同时执行读取文件 f 和 g 。 > ..
发布时间:2016-12-15 20:39:02 其他开发

替代ConcurrentDictionary的可移植类库

我正在编写一个以.NET 4.5,Windows应用商店应用和Windows Phone 8为目标的可移植类库。我需要一个高效的内存缓存机制,所以我在考虑使用 ConcurrentDictionary ,但它不适用于WP8。 会有很多读取和相对较少的写入,所以理想情况下,支持从多个线程进行无锁读取,并由单个线程写入的集合。非通用 Hashtable 具有该属性,根据MSDN , ..
发布时间:2016-12-15 20:34:41 C#/.NET

Java有界的非阻塞缓冲区,用于高并发情况

基本上,我需要一个数据结构来存储服务器端的临时聊天消息。应该是: bounded:因为我不需要存储太多的邮件,客户端会发送请求,新消息每秒。我认为绑定大小应该是最大。在一秒内挂载并发请求。当缓冲区已满时,旧消息将被删除。 适合高并发访问:我不想使用数据结构synchronizedXXXX,因为在迭代期间,如果其他线程改变了数据结构,例如添加一个消息,它会抛出一个异常,所以我必须锁定整个 ..
发布时间:2016-12-15 20:27:10 Java开发

为什么ConcurrentHashMap不能被锁定为独占访问?

来自 #JCIP 的报价: “由于ConcurrentHashMap不能被锁定为独占访问,我们 不能使用客户端锁定创建新的原子操作,如 put-if-absent ,就像我们对Vector做的一样: 为什么我们不能获取锁定 线程安全(例如 Collections.synchronizedxxx 工厂返回的同步集合)的原子方法: 解决方案 为什么?因为实现不支持它。 直接从 ..
发布时间:2016-12-15 19:55:51 Java开发

并发修改异常

我目前正在处理多线程应用程序,我偶尔会收到一个同时修改异常(平均大约每小时一次或两次,但以看似随机的间隔出现)。 错误的类本质上是一个地图的包装器 - 它扩展 LinkedHashMap (accessOrder设置为true)。该类有以下几种方法: 同步集(SomeKey键,SomeValue val) set方法将键/值对添加到内部映射,并受synchronize ..
发布时间:2016-12-15 19:42:38 Java开发

java并发数组列表访问

我有一个对象,它是一个单例。此对象声明: 列表 players = new ArrayList(); 同样的对象也为这个arrayList指定了4个操作: public List getPlayers(){ return player; } //此方法的结果可以在另一个对象中用作迭代器(或者可以通过索引访问) ..
发布时间:2016-12-15 19:34:53 Java开发

按值排序并发映射条目

有没有办法创建一个线程安全的实现 Map ,维护它的条目按值排序?我知道我可以创建一个线程安全映射像这样 ConcurrentMap& ; String,Double> rankings = new ConcurrentHashMap(); 然后,我可以通过将值传递给像这样的实用程序方法, / p> public static ..
发布时间:2016-12-15 19:32:01 Java开发

实现并发的LinkedHashMap

我正在尝试为多线程架构创建一个并发的LinkedHashMap。 如果我使用 Collections#synchronizedMap(),我必须使用同步块进行迭代。 如果我使用 ConcurrentSkipListMap 有任何方法来实现 Comparator 以存储在链接列表或队列中的顺序存储。 我想使用java的内置而不是 编辑: 在此并发 LinkedHashM ..
发布时间:2016-12-15 19:31:03 Java开发

BlockingQueue的实现:SynchronousQueue和LinkedBlockingQueue之间有什么区别

我看到 BlockingQueue 的这些实现,并且无法了解它们之间的差异。我的结论到目前为止: 我不需要 SynchronousQueue LinkedBlockingQueue 确保FIFO 必须使用参数true创建,以使其成为FIFO SynchronousQueue 此实现的性能是否优于 LinkedBlockingQueue ? 为了更复杂...为什么 Executor ..
发布时间:2016-12-15 19:08:06 Java开发

什么时候ConcurrentSkipListSet有用?

我刚看到这个Java 6 API的数据结构,我很好奇什么时候它是一个有用的资源。我正在研究scjp考试,我看不到它覆盖在凯西·塞拉利的书,即使我看到模拟考试的问题,提及它。 解决方案 ConcurrentSkipListSet 和 ConcurrentSkipListMap 在需要一个将由多个线程访问的排序容器时非常有用。这些基本上是用于并发代码的TreeMap和TreeSet的等价物。 ..
发布时间:2016-12-15 19:07:56 Java开发

为什么Java的同步集合不使用读/写锁?

之后,像 Hashtable 和向量之后,当收集同步包装器出现时,我认为同步将更有效地处理。现在我查看了代码,我很惊讶,它真的只是包装集合与同步块。 为什么 ReadWriteLock 不包括在集合中的SynchronizedMap中?是否有一些效率考虑,不值得吗? 解决方案 读写锁是性能优化的一部分,意味着它可以在某些情况下允许更大的并发。必要条件是,它们应用于大多数时间但未修改的 ..
发布时间:2016-12-15 18:49:59 Java开发

线程安全地更新Scala集合

我想知道是否有任何“简单”的方法来安全地更新不可变的scala集合。考虑下面的代码: class a { private var x = Map [Int,Int]() def update(p:(Int,Int)){x = x +(p)} } 这段代码不是线程安全的,正确吗?我的意思是,如果我们有两个线程调用update方法,让我们说x是map包含{1 => ..
发布时间:2016-12-15 18:46:43 其他开发

并发设置队列

也许这是一个愚蠢的问题,但我似乎找不到一个明显的答案。 我需要一个并发的FIFO队列,只包含唯一的值。尝试添加已存在于队列中的值将忽略该值。其中,如果不是为了线程安全将是微不足道的。在Java中有一个数据结构,或者是在具有这种行为的网络上的代码snipit? 解决方案 如果你想要更好的并发比完全同步,有一种方式我知道做,使用ConcurrentHashMap作为背景图。以下是仅草图。 ..
发布时间:2016-12-15 18:23:14 Java开发

Cocos2d和并发:如何正确停止场景之间的动画

我有一个GameScene(这里叫做ShooterScene),我退出到MainMenu。我使用精灵表,我加载在纹理缓存。有各种各样的动画(背景元素,敌人,球员等)。我有几个月的问题,其中有一个断言失败在“setTexture”方法的敌人。我通过在更换场景之前暂停共享CCDirector来解决这个问题。这具有停止动画的效果。然而我只是部分解决这个问题。游戏不会在Enemy setTexture上崩 ..

重要的是使用`performSelectorOnMainThread:withObject:waitUntilDone:`从NSOperation?

我的iPad应用程式与XML资讯提供同步,在NSOperationQueue执行的NSOperation子类别中执行同步作业。当它解析feed时,它通过 performSelectorOnMainThread:withObject:waitUntilDone:回调到主线程,以更新UI的各个部分,计划下载等。相当贵由于同步正在进行,UI有时可能无法响应一秒或两秒。 为了使用户界面更具响应性,我 ..
发布时间:2016-12-09 20:11:47 移动开发