`
endual
  • 浏览: 3513816 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

什么是线程安全的(原创)

    博客分类:
  • java
 
阅读更多

当多个线程访问一个类时 ,如果不用考虑这些线程在运行时环境下的调度和交替执行,并且不需要额外的同步以及在调用方式代码不必作其他的协调,这个类的行为仍然是正确的,那么称为线程安全的。


一个对象的状态 就是它的数据 ,存储在状态变量中,比如实例域或者静态域,对象的状态还包括了其他附属对象的域。

所谓共享,就是指的是一个变量可以被多个线程访问;所谓可变就是指变量的值在器生命周期内可以改变。我们讨论的线程安全性好像是关于代码的,但是我们真正要做的事情是在不可控制的并发访问中保护数据。

一个对象是否应该是线性安全的取决于它是否被多个线程访问。线程安全的这个性质,取决于程序中如何使用对象,而不是对象完成了什么。保证对象的形成安全性需要使用同步来协调对其他可变状态的访问。如果做不到这一点,就会导致肮脏数据的参数的产生和其他不可预见的结果。



在没有同步的情况下,如果多个线程访问了同一个变量,你的程序就存在隐患了。有三个方法来修复它:

不要跨线程共享数据

使用状态变量变为不可不的那种。

在任何访问状态下变量的时候使用同步

 

 

推荐并发线程类的java书籍<JAVA并发编程实践> 美国人写的 韩 以及 方两个人翻译的

分享到:
评论

相关推荐

    验证QList线程安全性的小程序

    申明:不是原创,不是原创,只是转载。 这是一个来自网上的例子 ...用于测试QList的线程安全性,因原作者只给出源代码,没有给出测试结果,这里生成一个QT工程,打开即可编译,内部有ReadME.txt,简要说明

    操作系统课设-线程安全的双向链表

    原创手操,操作系统课设,线程安全的双向链表,VC6.0,无须配置,可运行

    基础知识五、Python实现线程池之线程安全队列

    文章目录一、线程池组成二、线程安全队列的实现三、测试逻辑3.1、测试阻塞逻辑3.2、测试读写加锁逻辑 一、线程池组成  一个完整的线程池由下面几部分组成,线程安全队列、任务对象、线程处理对象、线程池对象。其中...

    C#基于异步事件回调多线程容器

    队列采用线程安全的BlockingCollection,每组工作者用一个队列。委托采用Func来定义的,没有采用传统且不太好理解的Delegate。这让代码减少很多,也更容易理解。多线程应该采用消息中心来交换数据,这样就规避了线程...

    对ThreadLocal的理解【源码分析+应用举例】

    当多线程操作这个变量时,实际操作的就是自己本地内存里面的变量,从而在一定程度上避免了线程安全问题。但是使用ThreadLocal对象去存储一个共享资源时,每一个线程的副本变量都指向同一个共享资源,这里也是会存在...

    Ofstar v1.3 beta 7

    多重安全防护措施,最安全的论坛之一 强大独有的图片与附件防盗链技术 采用扩展性极强的用户组功能 多功能的同时,表现超凡的速度 强大的后台备份功能! 高效的多线程优化算法,让你的论坛在多线程下快速稳定的运转...

    E-钻文件夹加密大师9200免费版

    [E-钻加密] 是专为拥有大量商业秘密和... 最安全: 三种原创加密技术,时刻捍卫您的文件安全.  最高速: 多线程加密,以最快的速度完成最多的任务.  最易用: 人性化设置,简单易用,即使是电脑新手,十秒就能掌握操作.

    E钻文件夹加密大师v6.80中文安装版

    喜欢的朋友就赶紧来下载吧~~软件特性: 1双重安全检测,保证加密畅通无阻 2三种原创技术,让您的文件,密码更安全 3采用多线程操作,实现文件闪电加密 4强大的文件急救中心功能,永远不再担心数据丢失! 5不受系统影响,...

    E-钻文件夹加密大师

     最安全: 三种原创加密技术,时刻捍卫您的文件安全。  最高速: 多线程加密,以最快的速度完成最多的任务。  最易用: 人性化设置,简单易用,即使是电脑新手,十秒就能掌握操作。  功能介绍:  具有界面...

    绿色免安装 蚂蚁系统漏洞扫描助手

    蚂蚁系统漏洞扫描助手是蚂蚁巴士论坛原创开发的一款安全工具,可以对您的系统进行漏洞扫描并修复,多线程下载补丁,全自动快速安装补丁,补丁来源自微软官方,安全可靠,程序整体无广告,绿色精简,本软件已荣获首届中国优秀...

    E钻文件夹加密大师 v6.7.zip

    3采用多线程操作,实现文件闪电加密 4强大的文件急救中心功能,永远不再担心数据丢失! 5不受系统影响,即使重装、Ghost还原,也照样可以使用。 6而且支持临时解密、浏览解密的功能,只需点点鼠标即可恢复加密 7...

    采集数据处理大师 v3.1

    14、用多线程执行任务,程序不再卡顿,但因为涉及到数据处理,处理数据时还是单线程,主要是为了数据安全考虑 主要功能: 1、利用词典对内容进行伪原创处理,可以是数据表里的一个或多个字段; 2、繁简互换,并对...

    Safe3 Web应用防火墙 v13.3

    Safe3 Web Application Firewall可以对网站资源进行高度保护,防止盗链,保障原创网站的合法权益。 XSS跨站:OWASP将XSS列为2007年WEB安全威胁第一位。黑客往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入...

    6种进程防杀方案和源码.rar

    09年初刚到现在这家公司,头让做一个进程防杀的功能,为了保护我们的软件的服务程序,类似360或瑞星这样的安全产品都有进程防杀的功能。研究了一个多月,总结网上的各种防杀方法并参考其代码,特此将各种实现方法归纳为...

    《Linux C编程实战》.(童永清).pdf带标签

    《Linux C编程实战》内容翔实,主要包括:Linux系统下C语言及其编程环境的介绍,系统编程的所有主题——文件和目录、进程、线程、信号、进程间通信、网络编程和图形界面编程、出错处理、库的创建与使用、编写安全的...

    Javascript/CSS 多文件代码合并、安全压缩、优化(PHP版)

    再比如,IE6默认只有2个下载线程!也就是说,同时只能进行2个资源请求、无论你网速有多快。 所以网页前端速度优化的一个重要项目就是:减小资源请求数。 事实上,业界有很有名气的js,css合并压缩开源程序:minify...

    C实现的简易软件定时器_soft_timer.zip

    原创的一个小型的软件定时器,可用于任意...另外需要注意的是,该源码的实现仅基于裸机程序,没有考虑线程安全性;如果使用了实时OS的话,请注意在相应的部分加锁进行控制。main.c文件中演示的是windows下的使用过程。

    LinuxC编程实战电子书

    过一个原创的BT软件下载综合案例的讲解,引导读者具备开发大型应用程序的能力。  《LinuxC编程实战》内容翔实,主要包括:Linux系统下C语言及其编程环境的介绍,系统编程的所 有主题——文件和目录、进程、线程、...

Global site tag (gtag.js) - Google Analytics