关于java的“原子操作”问题

06-02-22 Kavon
有些多线程或操作系统的书有提到,对于一个原子操作来说,是线程安全的,比如“32位或者更少位数的赋值是原子的”,那么对于这样的变量在多线程中对其进行读写的话,是否还要采用synchronized对其进行同步?如果是一个对象进行赋值又如何?如果在java中存在这样的原子操作,那么到底又哪些?
    

banq
2006-03-09 11:39
原子操作的就无需考虑同步了,Java中原子操作主要局限于一些基本类型,但是long等类型不是。

对一个对象赋值,就需要考虑同步机制和死锁机制。

但是我们不能因为对对象操作要考虑同步,觉得麻烦,就大量使用原始类型,那么你就不是面向对象化编程,把Java当成C用了,更错。

猜你喜欢