相关推荐
-
DELPHI的原子世界
DELPHI的原子世界 OOP编程: 对象 属性:数据库连接串,数据库连接SQL,数据总和,页数总和
-
delphi原子操作实现简单内存池
【代码】delphi原子操作实现简单内存池。
-
原子引用解决ABA问题
原子引用解决ABA问题
-
原子操作InterlockedExchange系列
//本内容只在多线程操作下具有意义 1 循环锁 实现循环锁: 可以用InterlockedExChange来实现循环锁的功能,所谓循环锁,就是在线程1中如果要对变量进行操作,要先查看这个变量(或资源)有没有被其它线程用到,如果是,则一直循环,则到其它线程放弃对该变量(或资源)的控制。如果否,直接可以对该变量(或资源)进行操作。 如: (使用srwlock也是可以实现的,可读性更强。不用...
-
软件的基本是要处理好”算法“及其基础(二)delphi系统原子函数及方法
软件的基本是要处理好”算法“及其基础(二)delphi系统原子函数及方法 如果你没有深入到delphi的额你信深处,可能你不常触及这些内容。本文将不断更新增加内容,敬请关注收藏...... 序号 函数、方法或记录 作用 引用单元 001 Trunc(ADouble:Double) 提取浮点类型的整数部分 System.pas 002 Frac(ADouble:Double) 提取浮点类型的小数部分 System.pas 003 .
-
简略单纯高效的Delphi原子队列
本文供给Delphi一个基于原子操纵的无锁队列,简略单纯高效。实用于多线程大吞吐量操纵的队列。 科学是使人精力变得大胆的最好路子。可用于Android体系和32,64位Windows体系。 感激歼10和qsl供给了批改建议! 有如下题目: 1.必须实现开辟内存 2.队列大小必须是2的幂 3.不克不及压入空指针 [delphi]
-
Delphi XE10.2.3多线程大量读和少量写公共资源时,用原子自旋读写锁代替互斥锁提高效率
多线程这玩意就是这么矛盾,使用多线程的初衷是为了提高CPU等资源使用率和加快程序并发处理能力,这是大家都希望看到的,但另一方面却必须为多线程读写公共资源而绞尽脑汁,各种奇葩处理方式层出不穷,利弊自知。 对于一个高性能服务器在处理多数读取,少量写入的场景时,如果还是使用常规的互斥锁方式,显然就不明智了,这种读多写少的场景最适合使用读写锁方式,读取时不加锁,多线程并发读取,效率是最高...
-
Atomic的介绍和使用(原子变量)
开始之前,我们来看一下上一篇文章中《CAS (全 ) && concurrent包的实现》中提到了concurrent包的实现图。 下图中的原子变量类就是Atomic类中的一部分。 也就是说,atomic类首先是一个乐观锁,然后底层实现也是根据CAS操作和Volatile关键字实现的。 Atomic 在JDK1.5之后,JDK的(concurrent包)并发包里提供了一些类来支持...
-
Atomic及数字递增的几种实现方式
AtomicInteger:采用CAS无锁模式(乐观锁) 我们实现对一个数字增加,有三种方法 1.AtomicInteger,CAS锁 2.Sychronized 整段方法加速 3.LongAdder 采用分段锁(分成多段,几个线程锁定一段,每一段都采用CAS锁,最后把所有值汇总),对线程数多的时候,有优势 ...
-
ATOM全局原子
一、什么叫原子表和原子函数? Win32系统中,为了实现信息共享,系统维护了一张全局原子表,用于保存字符串与之对应的标志符的组合。应用程序在原子表中可以放置字符串,并接收一个16位整数值(叫做原子,即atom),它可以用来提取该字符串.放在原子表中的字符串叫做原子的名字; 二、关于原子表 系统提供许多原子表.每个原子表用于不同的目的;例如,动态数据
-
delphi 只运行一个程序
举个例子 让程序只运行一个实例(Delphi篇) ------------------------------------------- 全局原子法 可以利用向系统添加全局原子的方法,来防止多个程序实例的运行。全局原子由Windows 系统负责维持,它能保证其中的每个原子都是唯一的,管理其引用计数,并且当该全局原子的引用计数为0时,从内
-
DELPHI的原子世界(2)
DELPHI的原子世界(2)第二节 TClass原子 在System.pas单元中,TClass是这样定义的: TClass = class of TObject; 它的意思是说,TClass是TObject的类。因为TObject本身就是一个类,所以TClass就是所谓的类的类。 从概念上说,TClass是类的类型,即,类之类。但是,我们知道DELPHI的一个类,代表着一项VMT数据。
-
Linux原子操作及函数
所谓的原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就是说,它的最小的执行单位,不能有比它更小的执行单元,因此这里的原子实际是使用了物理学里物质微粒的概念。 原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/sam/atomic.h文件中,它们都是使用汇编语言实现,因为c语言并不能实现这样的操作。 原子操作
-
DelphiXE10.2.3实现线程安全访问数据和对象(五)——实现原子自旋锁的无锁链表
之前看过MS的无锁单链表,效率确实非常高,但有点遗憾是Windows的Api函数,不能跨平台使用,而且要求保存的数据必须内存对齐,很不爽,当时看了具体汇编实现后,还是没完全明白过来为什么需要内存对齐,不知道该怎么实现为跨平台的无锁单链表,在之后写无锁Hash时,仔细研究并测试了Delphi原子操作TInterlocked.CompareExchange函数,猛然醒悟。 此无锁链表可跨平台...
-
DelphiXE10.2.3实现线程安全访问数据和对象(一)——Delphi原子操作函数介绍
之前写《原子自旋锁》时,也是第一次研究原子操作方法,看着测试结果出来时,自己兴奋了很久,后来在实际改造项目时,由于需要解决单链表、HASH、对象池这三种常用数据存储方式,索性一鼓作气将这三种一起实现了,相关源代码会放到CSDN上,这里先将Delphi原子操作函数介绍清楚,以便对源码进行改造时,能够避免问题的发生。一、Delphi的原子操作函数 在System.SyncObjs单元中...
14 楼 罪恶的小手 2008-08-16 12:22
13 楼 evancess 2008-08-16 12:08
12 楼 zhuqingbo 2008-08-06 14:35
11 楼 java菜菜鸟 2008-07-31 12:40
10 楼 jinmen 2008-07-31 11:03
9 楼 xly_971223 2008-07-31 10:54
8 楼 flyinglife 2008-07-31 10:47
非常好
7 楼 lishali12345 2008-07-31 10:45
6 楼 javaeyename 2008-07-31 09:54
5 楼 magic650 2008-07-31 09:16
4 楼 gavin213 2008-07-31 09:03
3 楼 cljspn 2008-07-31 08:58
2 楼 crackcell 2008-07-31 00:21
1 楼 Nothingstop 2008-07-30 16:41