zoukankan      html  css  js  c++  java
  • 集合的同步与非同步

    Java的集合中都说ArrayList 非同步、LinkedList 非同步、Vector 同步 、Stack 同步,线程安不安全,那么这里所说的同步,和线程安全是什么呢?

    在这里的非同步指的是,当使用线程和web的时候,对于这个集合对象进行操作,那么不同的线程,和不同的web客户端所获取的这个集合对象是不同的.所以是说不同步,且不在同一个线程,多线程的形式,是不安全的.

     

    比如说现在 线程A 和 线程B, 要拿到这个集合对象, 现在集合对象有[1,2,3].那么A在集合对象里添加了一下数字[1,2,3,4,5].那么这个时候B线程所取拿这个集合对象的时候,还是[1,2,3]而不是A已经修改好的集合[1,2,3,4,5].所以说这里的集合不同步,线程不安全.

       

    什么是线程安全问题?

     

    线程安全,其实指的就是内存的安全. 目前主流操作系统都是多任务多线程同时进行的.为了保证安全,每个进程只能访问分配额给自己的内存空间,而不能访问别的进程,这是由操作系统保障的.

    在每个进程的内存空间中都会有一块特殊的公共区域,通常称为 堆区(内存).进程内所有的线程都可以访问到该区域,这就是造成线程安全问题的潜在原因.

    所以, 线程安全 指的是,在堆区内存的数据由于可以被任何线程访问到,没有限制的情况下存在被意外修改的风险.

  • 相关阅读:
    shell getopt getopts获取参数
    apache+svn+ladp认证
    SVN 迁移项目分支
    iptables 优先级
    很实用的一篇HTTP状态码
    套路还在——矩阵计算估值
    CU上看到的一个简单的算法帖子
    linux下服务端实现公网数据转发
    c++接口实现与分离(转载)
    c++继承概念
  • 原文地址:https://www.cnblogs.com/nineberg/p/12272858.html
Copyright © 2011-2022 走看看