2 cqtrq cqtrq 于 2016.02.26 22:36 提问

多个task在符合各自条件时更新同一个XML文件,请问是否会产生冲突?

我做的是一个股票实时行情的自动模拟交易。
一只股票开一个Task,达到指定条件时自动进行买卖交易。

我把全部监控股票的自动交易信息保存在一个XML文件里(股票名称作为父节点
交易信息作为子节点)。产生自动交易后立即更新至XML文件。

由于是同步监控多只股票,不知在更新XML文件上是否会产生冲突?
这样的需求从逻辑上应该怎样解决更好?

3个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.02.27 11:36
已采纳

由于涉及到共享资源,那么你的业务代码处理时就应该做好并发控制,做好同步处理,避免不合理的结果产生。

caozhy
caozhy   Ds   Rxr 2016.02.27 06:59

对于xml的读写需要同步,否则可能会出现脏读数据的情况。

cqtrq
cqtrq   2016.06.19 22:24

lock(object对象)
{
//多线程共享可能产生同步冲突的代码段
}
以上锁定能够解决同步冲突问题。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ajax冲突
对于ajax,主要就是前台页面通过ajax向后台发送请求,问题来啦,当一个页面要用到多个ajax时,这时ajax就会冲突,此时我们会考虑到同步,什么是同步,就是会等待后台的结果执行完并且返回给ajax,然后在往下执行,异步就是不用等待返回结果直接往下执行,设置同步就是将async设置成false,异步相反。 打个比方,当我们直接去访问一个页面,并且不进行任何点击要显示后台多张表的内容的时候,此时
关于spring定时任务的并发问题
原帖地址:http://nesuk.iteye.com/blog/1582557 关于Spring集成Quartz的concurrent属性  以前经常在任务调度程序中使用Spring集成的Quartz,这种方式可以用简单的声明式配置即可实现定时任务,并结合了Spring自身的Bean的管理功能,非常方便。配置样本如下: 
sql关于对一个字段同时满足多条件判断来筛选查询
  背景: /**  * wangjie 180629  *   * 学生需要查询四种可能的消息  * 1.班级管理员发来的,根据自身的学籍号条件查询 * 2.省级管理员发送区县全部的,根据接收对象地区号作为条件查询  * 3.省级管理员发送全省全部的,根据接收对象类型为"all"查询  * 4.省级管理员发送全市全部的,根据接收对象市id查询  *   * */ 例子 问个sql语句问题...
mysql查询:同一个字段满足多个条件的对应字段
比如查找patient_id,对应的code_id分别等于1,2,3 select distinct patient_id from qs_patient_code WHERE code_id = 1 or code_id = 3 or code_id = 2 GROUP BY patient_id HAVING count(*)>=3
多线程查询、修改Mysql表会有冲突吗?
我用的存储引擎是MyISAM,有多个连接会同时select这张表,但不会修改这张表,这样操作会不会有冲突,会不会锁表? 不会锁表,不会有冲突, MyISAM表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求; 对 MyISAM表的写操作,则会阻塞其他用户对同一表的读和写操作; MyISAM表的读操作与写操作之间,以及写操作之间是串行的,读操作是并行的。 http://
mysql 同一个字段作为条件更新
mysql 更新一个字段的值且这个字段作为条件是,会报  Truncated incorrect DOUBLE value: '*********' 错误              例如:UPDATE admin_user SET active_time='2016-11-23'  WHERE admin_id !=1 AND active_time=0;              activ
spring学习(官网)——解决spring有多个匹配bean产生的冲突
1:使用@Primary注解微调: 通过类型自动匹配可能会导致多个候选对象,在选择过程中有更多限制是必须的,一种方式是使用spring 的@Primary注解实现,当一个单值的依赖有多个候选的bean时,@Primary注解指示给予一个优先的bean。如果在所有候选的bean中只有一个是primary的,这个bean将会被匹配。 @Configuration public class Movi
多进程同时访问文件并发问题解决方法
因为业务需求需要多个进程同时访问某个文件并进行读写操作的需求,因为文件并不是被同一个进程访问,而且极大可能会发生多进程争抢文件句柄的情况,如果在同一个进程里不同的线程访问,或许还能使用线程锁的方式控制,但是跨进程时就无法解决。网上询问解决方法基本上都类似Linux里日志文件服务一样,建立一个独立的文件操作服务,由文件操作服务来控制不同进程对同一个文件的访问。但是这样改动量就比较大,而且因为不同的程
多线程并发访问同一个对象时发生死锁的反思
来源:http://blog.csdn.net/lezhiyong      背景:SipPhone终端与多个其他设备的用户视频互通,由于Sip终端只能显示一路视频,所以模块A采用轮询方式将多个用户视频发送到sip终端上。模块A同时允许手动打开/关闭其中一个用户的视频,当该用户视频打开时候同时选送到sip终端显示。用户视频采用H264编码,Sip终端接收H263编码视频,所以用户视频需要经过H
算法题101-红黑树(阿里笔试题)
题目:红黑树在处理过程中红黑节点会产生冲突,请问在下列操作中解决的冲突中,正确的是______。 A、插入操作时,解决红黑冲突 B、删除操作时,解决红黑冲突 C、插入操作时,解决红红冲突 D、删除操作时,解决黑黑冲突 我的解答: C。红黑树的一条性质是如果一个节点是红色的,那么其子节点都是黑色的。插入节点过程中,此条红黑性质有可能被破坏,就是父节点和子节点都是红色的