草庐IT

同步fifo

全部标签

java - Java同步HashMap中的size()、put()、remove()、get()是原子的吗?

我将JavaMap声明为Mapmap=Collections.synchronizedMap(newHashMap());处理并发问题,对map上的所有操作进行同步。但是,我读到当操作是原子操作时,同步在synchronizedMap上不是必需的。我检查了JavaAPI,HashMap的文档似乎没有提到哪些是原子的,所以我不确定哪些是原子的。我正在同步对map的以下调用:map.size()map.put()map.remove()map.get()但是如果有些是原子的,那么似乎不需要同步。哪些是原子的? 最佳答案 同步map顾名思

java - 如何创建 Google Guava 的 TreeMultimap 的同步版本

有谁知道如何创建线程安全的TreeMultimap实例TreeMultimap.create()? 最佳答案 GuavaMultimaps类包含用于创建和修饰Multimap的静态方法,类似于java.util中的Collections类为Collections和Maps提供的方法。在你的情况下,你应该使用:Multimaps.synchronizedSortedSetMultimap(TreeMultimap.create()) 关于java-如何创建GoogleGuava的TreeM

java - 为什么即使同步了列表也会出现ConcurrentModificationException?

我有Android多线程应用程序。两个或多个触发器可能会运行同一部分代码。我有一个对象列表。我让它被Collections.synchronizedList同步privateListmGroupItemSampleList;mGroupItemSampleList=newArrayList();mGroupItemSampleList=Collections.synchronizedList(mGroupItemSampleList);但是有时我在线上遇到异常:Collections.sort(mGroupItemSampleList,newGroupItemSampleCompara

c# 多线程创建及线程同步

在C#中,线程是使用Thread类处理的,该类在System.Threading命名空间中。ManagedThreadId是确认线程的唯一标识符,程序在大部分情况下都是通过Thread.ManagedThreadId来辨别线程的。如获取当前线程的id:inta=Thread.CurrentThread.ManagedThreadId;创建线程        publicvoidmethod()        {            inta=1;            Thread.Sleep(1000);        }        public voidmethod1(objecta

java - 在可以避免的情况下需要在迭代时手动同步 Synchronized 列表吗?

我的问题是关于synchronizedList方法集合类。Javadocs说:用户在遍历返回的列表时必须手动同步它:Listlist=Collections.synchronizedList(newArrayList());...synchronized(list){Iteratori=list.iterator();//Mustbeinsynchronizedblockwhile(i.hasNext())foo(i.next());}虽然其他方法不需要手动同步。我查看了Collections类的源代码并且发现同步化已经针对所有方法进行了处理,例如addpublicbooleanadd

java - 当我们说 Hashtable 或 Vector 是同步的时,这意味着什么?

问题说明了一切,只是想知道,在面试中,当他们问您“Hashtable或Vectors被同步实际上意味着什么?”时,您会怎么说? 最佳答案 实际上它意味着两件事:不要使用它们,除非您将在线程之间共享它们(如果不只是使用HashMap或ArrayList)。如果您在线程之间共享它们,请检查它们实际实现的同步策略是否足以使您的程序线程安全(因为某些同步的存在很少表明类的全面并发行为)。 关于java-当我们说Hashtable或Vector是同步的时,这意味着什么?,我们在StackOverf

STM32的串口FIFO发送和接收使用FreeRTOS实时操作系统

以下是一个带有串口接收中断的使用FreeRTOS和STM32的串口FIFO发送和接收程序的示例代码,包含了每个功能函数的详细实现:#include"stm32f10x.h"#include"FreeRTOS.h"#include"task.h"#include"queue.h"#defineUART_TX_BUFFER_SIZE128#defineUART_RX_BUFFER_SIZE128//串口发送和接收的队列句柄QueueHandle_txTxQueue;QueueHandle_txRxQueue;//串口发送任务的函数voidvUartTxTask(void*pvParameters)

自动同步Mysql和ES:Logstash

(1)继承理论Logstash是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。Logstash是一个功能强大的工具,可与各种部署集成。它提供了大量插件,可帮助你解析,丰富,转换和缓冲来自各种来源的数据。如果你的数据需要Beats中没有的其他处理,则需要将Logstash添加到部署中。Logstash是Elastic栈非常重要的一部分,但是它不仅仅为Elasticsearch所使用。它可以介绍广泛的各种数据源。Logstash可以帮利用它自己的Filter帮我们对数据进行解析,丰富,转换等。最后,它可以把自己的数据输出到各种需要的数据

Java 同步

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion这是什么:synchronized(this){//...somecode...}有什么用?(你能写个例子吗?)

java - nio上下文中的请求-响应同步/匹配

我有一个服务器客户端应用程序(JavaEE和Android),通过websockets进行通信。通信正常,协议(protocol)本身也可以将对象作为json发送,这些对象将被正确包装、序列化、发送、反序列化、解包和重建。这两个应用程序都在使用另一个库项目,其中包含所有可能的请求和响应类。现在解决我的问题:图书馆还应该实现非阻塞通信策略,但透明的请求-响应实现。可能我不是第一个遇到这个问题的人,所以我认为那里可能有一些不错的实现:)。我想要的://servershouldsleep5000msandthenreturn3*3Futuref1=server.put(newSleepAnd