java多线程编程——线程同步之同步函数

Posted 抡起菜刀砍小强

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多线程编程——线程同步之同步函数相关的知识,希望对你有一定的参考价值。

如何找出线程安全问题:

1.明确那些代码块是多线程运行代码

2.明确共享数据

3.明确多线程运行代码中哪些语句是操作共享数据的

同步函数示例:

class Save{
    private int sum;
    public synchronized void add(int n){
        sum+=n;
        System.out.println("sum="+sum);
    }
}
class Cus implements Runnable{
    private Save b=new Save();
    public void run(){
        for(int x=0;x<3;x++){
            b.add(100);
        }
    }
}
class Bank{
    public static void main(String[] args){
        Cus c=new Cus();
        Thread th1=new Thread(c);
        Thread th2=new Thread(c);
        th1.start();
        th2.start();
    }
}

 

以上是关于java多线程编程——线程同步之同步函数的主要内容,如果未能解决你的问题,请参考以下文章

Java 多线程并发编程之 Synchronized 关键字

Java并发编程之多线程同步

java多线程同步以及线程间通信详解&消费者生产者模式&死锁&Thread.join()(多线程编程之二)

java多线程编程——静态同步函数

多线程之同步代码块与同步函数

Java多线程之代码同步