
数据结构
文章平均质量分 82
johnny_83
占略
展开
-
锁无关的(Lock-Free)数据结构
锁无关的(Lock-Free)数据结构在避免死锁的同时确保线程继续在Generic沉默了一期之后(研究生的学业总是使人不得不投入百分之百的精力),这一期文章的可写内容突然多得令人似乎有点无所适从.例如,其中之一就是关于构造函数的讨论,特别是转发构造函数(forwarding constructor),(构造函数中的)异常处理,以及两段式(two-stage)对象构造.另一个可选主题是创建不原创 2007-07-22 08:45:00 · 2279 阅读 · 1 评论 -
线程间通讯--VC
一般而言,应用程序中的一个次要线程总是为主线程执行特定的任务,这样,主线程和次要线程间必定有一个信息传递的渠道,也就是主线程和次要线程间要进行通信。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的,下面将进行说明。A) 使用全局变量进行通信由于属于同一个进程的各个线程共享操作系统分配该进程的资源,故解决线程间通信最简单的一种方法是使用全局变原创 2007-07-22 08:47:00 · 1025 阅读 · 0 评论 -
在Windows实现C++锁的读写
class ReadWriteLock{public: int m_currentLevel; int m_readCount; HANDLE m_unlockEvent; HANDLE m_accessMutex; CRITICAL_SECTION m_csStateChange;public: ReadWriteLock() {原创 2007-07-22 08:44:00 · 1144 阅读 · 1 评论 -
安全的线程同步
到目前为止,线程同步最为普遍的用途是确保多线程对共享资源的互斥访问。对于同步单个进程中的多个线程以实现互斥访问,Win32 API中的CRITICAL_SECTION结构以及与它相关的函数提供了最为快速和高效的途径,Microsoft .NET Framework并没有提供CRITICAL_SECTION结构,但提供了一个类似的机制——该机制通过System.Threading.Monit原创 2007-07-22 08:44:00 · 1073 阅读 · 0 评论 -
排序算法归总
排序的基本概念所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下:输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。(1) 排序的分类1. 按是否涉及数据的内、外存交换分内部排序:内部排序(简称内原创 2007-11-07 16:12:00 · 2000 阅读 · 1 评论