zoukankan      html  css  js  c++  java
  • java同步锁synchronized的使用

    synchronized 同步锁 ,首先需要明白同步和异步的关系,所谓同步,就是事情需要一步一步的做,反之为异步,异步就是在做这件事的时候也可以做其他的事情。

    这是上了锁之后的情况

    public class Threadddddddddddd implements Runnable{

    @Override
    public synchronized void run() {
    for(int i =0;i<5;i++){
    try {
    Thread.sleep(2000);
    } catch (Exception e) {
    e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName()+"------"+i);
    }
    }
    public static void main(String[] args) {
    Threadddddddddddd threadddddddddddd = new Threadddddddddddd();
    Thread thread = new Thread(threadddddddddddd, "a");
    thread.start();
    Thread thread1 = new Thread(threadddddddddddd, "b");
    thread1.start();
    }
    }

    输出结果

    a------0
    a------1
    a------2
    a------3
    a------4
    b------0
    b------1
    b------2
    b------3
    b------4

    未上锁

    public class Threadddddddddddd implements Runnable{

    @Override
    public void run() {
    for(int i =0;i<5;i++){
    try {
    Thread.sleep(2000);
    } catch (Exception e) {
    e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName()+"------"+i);
    }
    }
    public static void main(String[] args) {
    Threadddddddddddd threadddddddddddd = new Threadddddddddddd();
    Thread thread = new Thread(threadddddddddddd, "a");
    thread.start();
    Thread thread1 = new Thread(threadddddddddddd, "b");
    thread1.start();
    }
    }

    输出结果:

    a------0
    b------0
    a------1
    b------1
    a------2
    b------2
    a------3
    b------3
    a------4
    b------4

  • 相关阅读:
    Openjudge NOI题库 ch0111/01 查找最近的元素
    Openjudge NOI题库 ch0111/07 和为给定数
    Openjudge NOI题库 ch0111/08 不重复地输出数
    Openjudge NOI题库 ch0111/10 河中跳房子|NOIP2015 day2 stone
    Openjudge NOI题库 ch0111/t1776 木材加工
    SRM 508(2-1000pt)
    SRM 507(2-1000pt)
    SRM 504.5(2-1000pt)
    最小生成树专题总结
    SRM 506(2-1000pt)
  • 原文地址:https://www.cnblogs.com/oushiyang/p/8479441.html
Copyright © 2011-2022 走看看