今天就跟大家聊聊有关java中Synchronized的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
java基本数据类型有哪些
Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是“char”。4、布尔类型,是表示逻辑值的基本数据类型。
1、确保方法或代码块在操作中的原子性
同步化保证了符号内部或代码块内部资源(数据)的互斥访问。也就是说,由同一时间内的相同的监控锁所监控的代码,至多可以有⼀个线程进行访问。
在多线程环境中,Synchronized关键字描述的方法或代码块在同一时间只能由一个线程访问,在持有当前Monitor的线程执行完成之前,其他线程若要调用相关的方法,必须排队,知道持有当前Monitor的线程执行结束,释放Monitor,然后下一个线程将执行结束。
当多个监视器的情况下,多个监视器不会互相排斥。
2、确保监视资源可见
在多线程环境中保证监控资源上的数据同步。也就是,当任何线程获得Monitor之后将共享内存中的数据复制到site的缓存中。在此过程中,首先将缓存数据复制到共享内存中。
3、确保线程间的有序运行
同步化的原子性保证了它所描述的方法或代码操作的有序性,并且在同一时间最多只能有一个线程访问,并且不会触发JMM指令重排机制。
看完上述内容,你们对java中Synchronized的作用是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。