写在前面
昨天我们学习了多线程知识中的守护线程相关的概念知识,了解了用户线程,和守护线程的区别,还有其中的依赖关系。
今天我们要来学习些什么呢?一个关键字,那就是synchronize关键字的一些使用。
学习多线程之synchronized记录
今天来学习多线程中的synchronize关键字,主要就是要来说一下其中的特性,还有具体的应用场景,还有最重要的如何使用。
synchronize关键字是Java内置的一个关键字,主要是提供同步锁的功能,也就是独占线程至完成的功能。
一般在我们的日常开发中,多少都会存在一些并发的情况,或多或少,总会遇到的。
当然如果在一个场景下,多个线程可能同时操作一个数据,或者一个集合,再或者一个数据结构。
最先要考虑的就是加上同步锁,也就是synchronize关键字。
通过synchronize关键字来修饰方法,则进入此方法的线程只能有一个,以此来实现同步锁的效果。
比如下面这个代码示例,就是使用synchronize关键字的一个案例:
public class Test { Integer num = 0; public synchronized Integer add(Integer size){ num = num + size; return num; } }
通过上面这个代码,如果你通过Test对象对add进行访问时,就会发现在多个线程同时访问下,就只会一次只有一个线程能够进入此方法内。
除此之外,synchronize关键字还可以修饰对象实例,修饰同步代码块,除了这些还能修饰静态方法。
在不同的情况下,可以造成不同的同步锁效果,只不过是作用的对象不同了。
总结
今天我们大概学习了java多线程中的synchronize关键字是如何使用的,大家是否能有所收获,明天我们接着来说多线程中的其他知识点。