java中的synchronized是什么

java中的synchronized是什么,第1张

java中的synchronized是什么

出于对线程的保护,我们给每个线程配备了一把锁,synchronized就发挥着锁的作用。如果每个线程都有相应的锁,就不用担心多个线程出错的问题。只有当这个线程用完某一资源后,其他线程才能继续使用。下面我们就synchronized的概念、三种作用及方法分享给大家,最后带来使用的实例。

1.synchronized概念

能够保证同一时刻最多只有一个线程执行该段代码,以达到并发安全的效果。

2.synchronized的三个作用

(1)确保线程互斥的访问同步代码

(2)保证共享变量的修改能够及时可见

(3)有效解决重排序问题。

3.synchronized三种用法

(1)修饰普通方法

(2)修饰静态方法

(3)修饰代码块

4.synchronized实例

public class SynTest01 implements Runnable{
    static int a=0;
    public static void main(String[] args) 
                throws InterruptedException {
        SynTest01 syn= new SynTest01();
        Thread thread1 = new Thread(syn);
        Thread thread2 = new Thread(syn);
        thread1.start();thread1.join();
        thread2.start();thread2.join();
        System.out.println(a);
    }
    @Override
    public void run() {
        for(int i=0;i<1000;i++) {
            a++;
        }
    }
}

以上就是java中关于synchronized的介绍,相信大家已经对这种锁的有了初步的认知。接下来就synchronized的使用以及一些内容上的分析,会不断带来更多的讲解。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3017620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存