zoukankan      html  css  js  c++  java
  • 多线程---同步函数(转载)

    /**
    同步有两种方式:一、同步代码块;二、同步函数
    使用synchronized注意只要对需要同步的代码进行同步,多余的不用
    如何找问题:
    1、明确哪些代码是多线程运行代码
    2、明确共享数据
    3、明确多线程运行代码中哪些语句是操作共享数据的。
    **/
    class Bank
    {
    private int sum;
    //Object obj = new Object();
    public synchronized void add(int n)//这就是同步函数,简化了代码
    {
    //synchronized(obj)
    //{
    sum = sum + n;
    try{Thread.sleep(10);}catch(Exception e){}
    System.out.println("总计:"+sum);
    //}
    }
    }
    class Cus implements Runnable
    {
    private Bank b = new Bank();
    public void run()
    {
    for(int x=0; x<3; x++)
    {
    b.add(100);
    }
    }
    }
    class ThreadBank
    {
    public static void main(String[] args)
    {
    Cus c = new Cus();
    Thread t1 = new Thread(c);
    Thread t2 = new Thread(c);
    t1.start();
    t2.start();
    }
    }
  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    落忆枫音(我们终将成为”枫音乡的过客“)
    PID221 / 烦人的幻灯片☆ x
    codevs 5971 打击犯罪 x
    洛谷 P2330 [SCOI2005] 繁忙的都市 x
  • 原文地址:https://www.cnblogs.com/kevinfuture/p/4283644.html
Copyright © 2011-2022 走看看