Java中多线程的共享数据

| 我在android上编写程序以实时监控心电图时遇到问题。 心电图数据通过udp实时传输到移动设备。在移动设备中,有2个线程:一个线程获取ecg数据传输,一个线程绘制ecg数据。 Cicurlar缓冲区是上述两个线程的通用数据,并且在对缓冲区进行读写操作时,两个线程始终会冲突。结果是心电图丢失或变慢。 在使用用户cicurlar缓冲区之前,我使用了5个linkedblockingqueu,但结果相同。 谁能给我一些有关程序中多线程数据的解决方案? 谢谢。 对不起,我的英语不好。 当我使用linkedblockingqueue时有一个模型:     
已邀请:
        您需要使用共享锁同步对数据的访问。如果您想真正了解Java中的线程和并发模型,我强烈建议您在实践中使用Java并发。     
        我认为,“ 0”是您解决问题的方法。   线程主要通过   共享对字段的访问权限   对象引用字段引用。   这种沟通方式是   效率极高,但有两个   可能的错误类型:线程   干扰和内存一致性   错误。预防所需的工具   这些错误是同步。 从JavaDoc的ѭ1   BlockingQueue实现是   线程安全的。所有排队方法   原子地使用实现其效果   内部锁或其他形式的   并发控制。但是,大部分   收集操作addAll,   containsAll,retainAll和removeAll   不一定要执行   除非另有说明,否则原子地   在实施中。就是这样   可能,例如对于addAll(c)   失败后(引发异常)   仅添加c中的某些元素。     
        在我的假设中,您将直接访问集合(基于任何Fifo),您必须尝试制作一个应该具有用于​​数据(而不是用于集合)的getter和setter的bean,并且应该在bean中定义集合。您可以在创建线程对象之前创建Bean对象,然后在构造时将Bean对象传递给线程,希望如此。     

要回复问题请先登录注册