zoukankan      html  css  js  c++  java
  • Java多线程编程核心技术,第二章,对象和变量并发访问

    1,方法内部变量是线程安全的

    2,实例变量非线程安全

    3,synchronized是锁对象不是锁方法(锁对象是可以访问非synchronized方法,不可访问同个和其他synchronized方法

    4,锁住对象的时候,可以重复获得自己的锁,称可重入锁

    5,在父子级对象的两个方法,可重入锁有效

    6,synchronized出现异常会终止释放锁

    7,sleep作为静态方法,用对象调用效果也一样(不会sleep调用的对象)只会sleep当前线程

    8,子类重写同步方法,synchronize不会继承下去

    9,synchronized快也锁对象

    10,synchronized(x),x不是同一个对象的时候(私有变量,两个对象)方法是异步的,(存疑存在x是共有变量不锁方法,两个synchronized异步不同步:解决,x不同,锁不同,看11

    11,synchronized(x),x不同this争锁,也不和其他对象争锁,换种角度是对象没锁

    12,静态方法加锁就是对class文件加锁,也就是class锁住,对象没有锁住,对象锁是可以异步的,synchronized(xxx.class)同理

    13,synchronized(x),x少用string,因为有常量池的影响,容易误会锁了其他块

    14,synchronized(x),不能像对象锁那样取得其他锁权限

    15,volatile,https://blog.csdn.net/gongpulin/article/details/51211616

  • 相关阅读:
    173. Binary Search Tree Iterator
    199. Binary Tree Right Side View
    230. Kth Smallest Element in a BST
    236. Lowest Common Ancestor of a Binary Tree
    337. House Robber III
    449. Serialize and Deserialize BST
    508. Most Frequent Subtree Sum
    513. Find Bottom Left Tree Value
    129. Sum Root to Leaf Numbers
    652. Find Duplicate Subtrees
  • 原文地址:https://www.cnblogs.com/vhyc/p/9170791.html
Copyright © 2011-2022 走看看