• 线程安全,


    线程安全

    Synchronized 线程同步(线程安全处理)

    线程同步的两种方法:

    1:同步代码块

    2:同步方法

    同步代码块:

    synchronized (锁对象) {

        可能会产生线程安全问题的代码

    }

    同步代码块中的锁对象可以是任意的对象;但多个线程时,要使用同一个锁对象才能够保证线程安全。

    同步方法:

    在方法声明上加上Synchronized

    public synchronized void method(){

        可能会产生线程安全问题的代码

    }

    同步方法中的锁对象是 this

    静态同步方法: 在方法声明上加上static synchronized

    public static synchronized void method(){

    可能会产生线程安全问题的代码

    }

    静态同步方法中的锁对象是 类名.class

    Lock接口

    ReentrantLock() 实现类

    lock() 获取锁

    unlock() 释放锁

    public void run(){

        while(true){

           lock.lock();

           if(ti>0){

    System.out.println(Thread.currentThread().getName()+"出售第"+ti--+"张票");

           }

           lock.unlock();

        }

    }

  • 相关阅读:
    STL中的string
    STL中的map
    STL中的set和multiset
    C++基础知识
    希尔排序
    桶排序
    归并排序
    堆排序
    数组左边奇数右边偶数算法O(n)
    背包问题 洛谷P1164 小A点菜
  • 原文地址:https://www.cnblogs.com/hhthtt/p/10632626.html
Copyright © 2020-2023  润新知