在使用多线程时,一般很少有多个线程完全独立的工作。往往是多个线程同时操作一个全局变量来获取程序的运行结果。多个线程同时访问同一个全局变量,如果都是读取操作,则不会出现问题。如果是写操作,则会发生错误。这时候,我们可以通过临界区,为全局变量设置一个保护,保证同时只有一个线程可以访问此变量,其他变量进入等待状态。
临界区(Critical Section)是一段独占对某些共享资源访问...
分类:
编程语言 时间:
2014-05-14 00:10:15
阅读次数:
399
1>msvcrtd.lib(ti_inst.obj) : error LNK2005:
"private: __thiscall type_info::type_info(class type_info const &)"
(??0type_info@@AAE@ABV0@@Z) 已经在 libcmt...
分类:
其他好文 时间:
2014-05-13 19:30:41
阅读次数:
420
#ifndef _LOGFILE_H#define _LOGFILE_H#include
#include #include #include class LogFile{protected: CRITICAL_SECTION
_csLock; char * _szFileName; HANDLE....
分类:
编程语言 时间:
2014-05-13 19:15:17
阅读次数:
348
init.rc文件解析过程我们已经知道init.rc的结构,应该可以想到解析init.rc的过程就是识别一个个section的过程,将各个section的信息保存下来,然后在init.c的main()中去执行一个个命令。
android采用双向链表(关于双向链表详解见本文第三部分)来存储sectio...
分类:
移动开发 时间:
2014-05-13 17:45:01
阅读次数:
462
用hibernateTemplate.save(obj)的时候打印obj的id,有id是自增长的,但是数据库一直没有数据,查了半天,才发现@Transaction没有加所以,调试BUG,先从最容易的开始调
分类:
系统相关 时间:
2014-05-13 17:43:59
阅读次数:
302
由于现在很多业务我都是在copy代码所以代码有的没有用有的对象是null,有的却不是obj=map.get()之后对象的属性有的之前都set好了在map.put的之前又设置了多余吧,应该删掉你
分类:
其他好文 时间:
2014-05-13 17:18:21
阅读次数:
184
Android
init脚本语言的规范语法描述:system/core/init/readme.txt关键字:token:
计算机语言中的一个单词,就跟英文中的单词差不多一人概念.Section:
语句块,相当于C语言中大括号内的一个块。一个Section以Service或On开头的语句块.以Ser...
分类:
移动开发 时间:
2014-05-13 16:41:19
阅读次数:
378
Person's solution 是用来一种基于软件的解决关键区域问题的算法(critical-section).
它并非完美的,有可能不正确地工作。而且是限制解决两个进程同步的问题。
但是它很简单,很原始,学习起来也是很轻松的。
代码如下:
do {
flag[i] = true;
turn = j;
while (flag[j] && turn == j...
分类:
编程语言 时间:
2014-05-13 08:01:01
阅读次数:
407
容器hash_set是以hash table为底层机制的,几乎所有的操作都是转调用hash table提供的接口。由于插入无法存储相同的键值,所以hash_set的插入操作全部都使用hash table的insert_unique接口,代码如下:
pair insert(const value_type& obj)
{
pair p = rep.insert_unique(obj);
...
分类:
其他好文 时间:
2014-05-13 06:33:44
阅读次数:
303
集合:泛型基础知识泛型。(泛型就是类型参数化,默认的时object,虽然不用强制类型转换,这个就要你自己去写特性方法,比如compareto是string的特有方法吧,你可以写但是父类肯定调用不了)itnext对象都是obj要使用对象的特性功能必须强。编译的时候没问题,因为都不知道你会..
分类:
其他好文 时间:
2014-05-13 03:02:23
阅读次数:
235