0
  • 最佳答案
    • 线程安全: 线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。
    • 如何保证呢: 1、使用线程安全的类; 2、使用synchronized同步代码块,或者用Lock锁; > 由于线程安全问题,使用synchronized同步代码块 原理:当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。 另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。


    1251422655832133632  评论     打赏       Intelligence
    • 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。

      1274165387499433984  评论     打赏       ncayu618
      • 线程安全,举个例子,火车票的网上购票,如果两个人同时购买一张票,假设原有票数是12,两个人同时购买,A购买的时候,票数应该是12-1=11,但是在A购买的时候B也读了原有票数,并且买了一张,修改数量为11,这时A的操作结束,对票数赋值为11,但是售出了两张票

        这就是线程安全的问题,两个线程访问相同资源的时序问题,要求A访问的时候B不能访问,因为如果B访问,而A还未操作完毕,B读取的数据不是正确数据,这就要求必须对资源上锁,即限制同时访问资源的数量。


        1338391176117608448  评论     打赏       孤星入命孑然一身
        • 线程安全是多线程编程时的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。

          1346982704905842688  评论     打赏       一个独一无二的id
          相关问题
          康师傅的小跟班 · JAVA
          2019-09-10 05:09 1295 2
          2020-03-08 05:30 846 2
          吕氏春秋 · java / 多线程并发
          2020-03-19 03:46 859 4
          不易 · java
          2020-06-06 19:41 461 2
          夙夜星辰叹 · javaweb
          2020-06-24 03:07 457 2
          2020-07-21 06:26 937 2
          CodeWwang · JAVA
          2020-07-22 06:11 440 2