大家帮忙看下,如此代码在多线程下是否能兼顾效率和稳定呢? 至少在这段代码里是多余的,因为isOnChanged 在get方法里永远不会是true 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。 我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取 我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决? spoutNowSum 这个用atom类型就可以... 不用 synchronized 我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?get的时候isOnChanged不可能为true,那个wait的方法不会被执行到的,单纯要保证getset的安全,不用这个复杂,直接在方法上加synchronized就好了,其他的代码都可以去掉 我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?get的时候isOnChanged不可能为true,那个wait的方法不会被执行到的,单纯要保证getset的安全,不用这个复杂,直接在方法上加synchronized就好了,其他的代码都可以去掉受教了仿佛明白了什么。但是如果遇到阻塞的时候会怎样, 我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?get的时候isOnChanged不可能为true,那个wait的方法不会被执行到的,单纯要保证getset的安全,不用这个复杂,直接在方法上加synchronized就好了,其他的代码都可以去掉受教了仿佛明白了什么。但是如果遇到阻塞的时候会怎样,遇到阻塞时不怎么样,效率和安全是一对矛盾体,你要保证效率就要并行,要并行就必然有安全问题;你要安全就要串行,所有逻辑全部串行就绝对安全但是牺牲效率。所以在某些场景下,牺牲效率是没有办法的。不过好在对于一般的系统而言,性能瓶颈都不会出现在这种阻塞/不阻塞的权衡上,建议你也不要在这种问题上纠结,没有意义 我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?get的时候isOnChanged不可能为true,那个wait的方法不会被执行到的,单纯要保证getset的安全,不用这个复杂,直接在方法上加synchronized就好了,其他的代码都可以去掉受教了仿佛明白了什么。但是如果遇到阻塞的时候会怎样,遇到阻塞时不怎么样,效率和安全是一对矛盾体,你要保证效率就要并行,要并行就必然有安全问题;你要安全就要串行,所有逻辑全部串行就绝对安全但是牺牲效率。所以在某些场景下,牺牲效率是没有办法的。不过好在对于一般的系统而言,性能瓶颈都不会出现在这种阻塞/不阻塞的权衡上,建议你也不要在这种问题上纠结,没有意义大师受教了给点学习方法和参考书籍 我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?get的时候isOnChanged不可能为true,那个wait的方法不会被执行到的,单纯要保证getset的安全,不用这个复杂,直接在方法上加synchronized就好了,其他的代码都可以去掉受教了仿佛明白了什么。但是如果遇到阻塞的时候会怎样,遇到阻塞时不怎么样,效率和安全是一对矛盾体,你要保证效率就要并行,要并行就必然有安全问题;你要安全就要串行,所有逻辑全部串行就绝对安全但是牺牲效率。所以在某些场景下,牺牲效率是没有办法的。不过好在对于一般的系统而言,性能瓶颈都不会出现在这种阻塞/不阻塞的权衡上,建议你也不要在这种问题上纠结,没有意义大师受教了给点学习方法和参考书籍性能与安全这一块还是经验相关,接触得多了慢慢就比较熟悉了 利用jboss6部署SSH2项目,发现jboss不能解析spring的注解(跪求!!!) 碰到个奇怪地问题 Hibernate查数据问题,请教高手 (加急)有哪位portal高手 请指点 Java中用动态代理类实现记忆功能 JAVA调用本机程序,急!!!-----再线等!!!! JB哪个版本好用啊? 江湖救急 hibernat hql问题!!解决马上给分! 高分求解:Applet不能初始化? java如何执行远程服务器上的.sh文件 求一个商城的网页设计
我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。
我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取
我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取
额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?
我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取
额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?
get的时候isOnChanged不可能为true,那个wait的方法不会被执行到的,单纯要保证getset的安全,不用这个复杂,直接在方法上加synchronized就好了,其他的代码都可以去掉
我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取
额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?
get的时候isOnChanged不可能为true,那个wait的方法不会被执行到的,单纯要保证getset的安全,不用这个复杂,直接在方法上加synchronized就好了,其他的代码都可以去掉受教了仿佛明白了什么。但是如果遇到阻塞的时候会怎样,
我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取
额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?
get的时候isOnChanged不可能为true,那个wait的方法不会被执行到的,单纯要保证getset的安全,不用这个复杂,直接在方法上加synchronized就好了,其他的代码都可以去掉受教了仿佛明白了什么。但是如果遇到阻塞的时候会怎样,遇到阻塞时不怎么样,效率和安全是一对矛盾体,你要保证效率就要并行,要并行就必然有安全问题;你要安全就要串行,所有逻辑全部串行就绝对安全但是牺牲效率。所以在某些场景下,牺牲效率是没有办法的。不过好在对于一般的系统而言,性能瓶颈都不会出现在这种阻塞/不阻塞的权衡上,建议你也不要在这种问题上纠结,没有意义
我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取
额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?
get的时候isOnChanged不可能为true,那个wait的方法不会被执行到的,单纯要保证getset的安全,不用这个复杂,直接在方法上加synchronized就好了,其他的代码都可以去掉受教了仿佛明白了什么。但是如果遇到阻塞的时候会怎样,遇到阻塞时不怎么样,效率和安全是一对矛盾体,你要保证效率就要并行,要并行就必然有安全问题;你要安全就要串行,所有逻辑全部串行就绝对安全但是牺牲效率。所以在某些场景下,牺牲效率是没有办法的。不过好在对于一般的系统而言,性能瓶颈都不会出现在这种阻塞/不阻塞的权衡上,建议你也不要在这种问题上纠结,没有意义
大师受教了给点学习方法和参考书籍
我是这样想的,在多线程当中使用单例模式,如果别的线程中的get与set产生了竞争条件,有没有可能正好是取数据的时候为正在修改的时候,或者高手给指点下,代码该如何修改。get和set都在spoutNowSum 上加了锁,这里是同步操作,消除了竞争条件,一次性只有一个线程在get或set,所以不存在数据没修改完就有线程来取
额这个倒是,如果set的同时,又get了,又没有wait,那么线程会不会发生阻塞呢?该如何解决?
get的时候isOnChanged不可能为true,那个wait的方法不会被执行到的,单纯要保证getset的安全,不用这个复杂,直接在方法上加synchronized就好了,其他的代码都可以去掉受教了仿佛明白了什么。但是如果遇到阻塞的时候会怎样,遇到阻塞时不怎么样,效率和安全是一对矛盾体,你要保证效率就要并行,要并行就必然有安全问题;你要安全就要串行,所有逻辑全部串行就绝对安全但是牺牲效率。所以在某些场景下,牺牲效率是没有办法的。不过好在对于一般的系统而言,性能瓶颈都不会出现在这种阻塞/不阻塞的权衡上,建议你也不要在这种问题上纠结,没有意义
大师受教了给点学习方法和参考书籍性能与安全这一块还是经验相关,接触得多了慢慢就比较熟悉了