zoukankan      html  css  js  c++  java
  • 线程安全问题出现 的根本原因和解决方案

    线程安全问题出现的根本原因:
        1. 必须要存在两个或者两个以上的线程共享着一个资源。
        2. 操作共享资源的代码必须有两句或者两句以上。



        1. 同步代码块
            synchronized(锁){
                需要被同步的代码
            }
                  
        2. 同步函数。  
            修饰符 synchronized 返回值类型   函数名(形参列表..){

            }
        注意:
            1. 同步代码块的锁可以是任意的对象。 同步函数的锁是固定 的,非静态函数的锁对象是this对象。 静态函数的锁对象是class对象。
            2. 锁对象必须是多线程共享的对象,否则锁不住。
            3. 在同步代码块或者是同步函数中调用sleep方法是不会释放锁对象的,如果是调用了wait方法是会释放锁对象的。




  • 相关阅读:
    typescript 箭头表达式
    typescript 参数类型
    ts介绍
    pm2
    koa2安装
    linux 搭建ftp
    CENTOS6.5 安装 mysql5.6 以及搭建双主
    bzoj 3043 (差分序列运用)
    poj 3277 City Horizon
    NOI2015 程序自动分析
  • 原文地址:https://www.cnblogs.com/loaderman/p/9994203.html
Copyright © 2011-2022 走看看