一、什么是线程安全性
编写线程安全的代码
核心在于要对状态访问操作进行管理。
共享,可变的状态的访问 - 前者表示多个线程访问, 后者声明周期内发生改变.
线程安全性
核心概念是正确性。某个类的行为与其规范完全一致。
多个线程同时操作共享的变量,造成线程安全性问题。
* 编写线程安全性代码的三种方法:
不在线程之间共享该状态变量
将状态变量修改为不可变的变量
在访问...
分类:
编程语言 时间:
2014-05-26 05:31:40
阅读次数:
282
模板与泛型编程--重载与函数模板引言: 函数模板可以重载:可以定义有相同名字但参数数目或类型不同的多个函数模板,也可以定义与函数模板有相同名字的普通非模板函数。 但是,声明一组重载函数模板不保证可以成功调用它们,重载的函数模板可能会导致二义性。一、函数匹配与函数模板如果重载函数中既有普通函数又有函数模板,确定函数调用的步骤如下:1.为这个函数名建立候选函数集合,包括: a.与被调用函数名字相同的任...
分类:
编程语言 时间:
2014-05-26 04:34:12
阅读次数:
317
一、可见性
什么是可见性?
Java线程安全需要防止某个线程正在使用对象状态而另一个线程在同时修改该状态,而且需要确保当一个线程修改了对象的状态后,其他线程可以看到发生的状态变化。 后者就是可见性的描述即多线程可以实时获取其他线程修改后的状态。
*** 待补充 两个工人同时记录生产产品总数问题
1. 失效数据
可见性出现问题就是其他线程没有获取到修改后的状态,更直观...
分类:
编程语言 时间:
2014-05-24 22:17:11
阅读次数:
246
在Android应用开发中,Dialog(对话框)创建简单且易于管理因而经常用到,对话框默认样式类似创建样式的Activity。首先介绍android.app.AlertDialog下的Builder这个类。Builder是AlertDialog类的子类,而且还是它的内部类。正如其名所示,Build...
分类:
移动开发 时间:
2014-05-24 12:34:38
阅读次数:
294
Sed学习笔记作者:Jims of肥肥世家Copyright ? 2004,2005, 本文遵从GNU
的自由文档许可证(Free Document
License)的条款,欢迎转载、修改、散布。发布时间:2004年09月20日最近更新:2005年12月22日,增加小技巧章节。Table of Co...
分类:
其他好文 时间:
2014-05-24 12:06:47
阅读次数:
353
1、ntdll!ZwWaitForSingleObject
线程被挂起,如果下面跟着是这样子:RetAddr : Args to Child : Call S...
分类:
数据库 时间:
2014-05-24 11:48:17
阅读次数:
872
简介
在jQuery1.5.0版本引入,为了实现Deferred对象,jQuery改写了ajax。是由jQuery.Deferred()方法创建的链式对象。
$.Deferred在jQuery代码自身四处被使用(promise、DOM ready、Ajax、Animation) 特性:使用...
分类:
Web程序 时间:
2014-05-24 10:21:51
阅读次数:
406
1.
@property的参数说明ARC是苹果为了简化程序员对内存的管理,推出的一套内存管理机制使用ARC机制,对象的申请和释放工作会在运行时,由编译器自动在代码中添加retain和release1>
strong:强指针引用的对象,在生命周期内不会被系统释放 在OC中,对象默认都是强指针2>...
分类:
移动开发 时间:
2014-05-24 10:06:26
阅读次数:
392
在opencv2.0前,opencv使用C语言实现相关函数,那个时候存储图像的文件类型是IplImage,需要程序员手动管理内存。在opencv2.0后,opencv引入了C++,Mat类就是其中一个变化。
Mat类似于STL中的容器类,能够动态管理内存。Mat类两部分数据,第一个是数据头(mat....
分类:
其他好文 时间:
2014-05-24 09:24:48
阅读次数:
302