zoukankan      html  css  js  c++  java
  • sychronized关键字(多线程)

    sychronized关键字:

    1. 作用:利用该关键字来创建内置锁,实现线程同步;

    2. 分类:(1)sychronized同步方法;(2)sychronized同步代码块;

    3. sychronized同步方法:

    (1)对其他sychronized同步方法或sychronized(this)同步代码块调用呈阻塞状态;

    (2)同一时间内只有一个线程可以执行sychronized同步方法中的代码;

    4. sychronized(this)同步代码块:

    (1)对其他sychronized同步方法或sychronized(this)同步代码块的调用呈阻塞状态;

    (2)同一时间内只有一个线程可以执行sychronized同步代码块中的代码;、

    5. sychronized(非this对象x)同步代码块:

    (1)当多个线程同时持有“对象监视器”为同一对象时,同一时间仅有一个线程执行sychronized(非this对象x)同步代码块中的代码;

    (2)优点:不与同步方法以及其他锁this同步方法抢this锁,与同步方法之间的关系是异步的;

    6. 静态同步sychronized方法与sychronized(class)代码块,两者作用一样

    (1)静态同步sychronized方法:是指将关键字synchronized应用到static静态方法上,这样就是对整个Class类进行持锁

    7. Class锁与对象锁不是同一把锁,所以可能出现异步,Class锁可以对类的所有对象实例起作用

  • 相关阅读:
    查看eclipse web项目中jsp编译后的servlet源文件【转】【JSP】
    综合实战--文件上传系统【JDBC&IO&Socket】
    002、使用webpack的各种loader处理文件
    001、node & webpack工程手动搭建
    000、GO之特别语法糖
    000、GO之深刻理解拷贝
    000、常见算法解析
    003、GO之并发
    002、GO之反射
    001、GO之指针转换
  • 原文地址:https://www.cnblogs.com/changna1314/p/6826711.html
Copyright © 2011-2022 走看看