zoukankan      html  css  js  c++  java
  • JAVA-初步认识-第十三章-多线程(同步代码块)

    一.

    怎么解决程序的安全性问题。

    就相当于不给其他线程机会,自己独占。

    对于多条语句的封装通常用什么封装?花括号,也就是代码块。

    我们现在需要这个代码块具备一定的功能,多个线程只能每次有一个线程进来操作。这个我们也可以用一个关键字来标识。

    synchronized是同步的意思,

    写同步代码块的时候,必须要明确是对那些代码进行同步,如果不清楚的话,就不要写同步代码块。

    这里面有个对象,这个对象代表什么呢?对象相当于一个标记,标志。

    那synchronized里面放什么对象,我们这里也没有对象。干脆造一个对象,

    将造好的对象放置到synchronized中,为了同步造个对象有点多余。那怎么办?

    我们找一个现成的对象就好了,干嘛造自然描述对象。

    现在就解决了安全问题,编译运行当前程序。

    但是整个结果来看,都是一个线程在运作。安全隐患是解决了,没有负数的票号出现了。但是咱程序中写的是四个线程。

    再次编译运行,出现了多个

    从结果来看,运行了四个线程,1和2线程有资格,没抢到执行权。

    接下来的问题就是synchronized是怎么保证没有安全问题的呢?

  • 相关阅读:
    面试算法爱好者书籍/OJ推荐
    go语言——数据类型
    go编程规范
    Go语言常见语法错误
    go语言入门
    python——itertools
    linux sed使用
    python——optparse模块
    Linux基本配置
    文件包含
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/8031818.html
Copyright © 2011-2022 走看看