上一页 1 ··· 171 172 173 174 175 176 177 178 179 ··· 203 下一页
摘要: 之前已经有了两种多线程的同步方法:CriticalSection(临界区) 和 Mutex(互斥), 这两种同步方法差不多, 只是作用域不同;CriticalSection(临界区) 类似于只有一个蹲位的公共厕所, 只能一个个地进; Mutex(互斥) 对象类似于接力赛中的接力棒, 某一时刻只能一个 阅读全文
posted @ 2010-04-22 00:02 delphi中间件 阅读(297) 评论(0) 推荐(0)
摘要: 原理分析:互斥对象是系统内核对象, 各线程都可以拥有它, 谁拥有谁就能执行; 执行完毕, 用 ReleaseMutex 函数释放拥有权, 以让其他等待的线程使用.其他线程可用 WaitForSingleObject 函数排队等候(等候也可以理解为排队申请).使用过程: var hMutex: THa 阅读全文
posted @ 2010-04-21 23:55 delphi中间件 阅读(520) 评论(0) 推荐(0)
摘要: "临界区"(CriticalSection): 当把一段代码放入一个临界区, 线程执行到临界区时就独占了, 让其他也要执行此代码的线程先等等; 这和前面用的 Lock 和 UnLock 差不多; 使用格式如下: var CS: TRTLCriticalSection; {声明一个 TRTLCriti 阅读全文
posted @ 2010-04-21 23:30 delphi中间件 阅读(337) 评论(0) 推荐(0)
摘要: 据说 Event(事件对象) 是多线程最原始的同步手段, 我觉得它是最灵活的一个.Event 对象(的句柄表)中主要有两个布尔变量, 从它的建立函数中可以看得清楚: function CreateEvent( lpEventAttributes: PSecurityAttributes; {安全设置 阅读全文
posted @ 2010-04-21 23:24 delphi中间件 阅读(339) 评论(0) 推荐(0)
摘要: function WaitForSingleObject( hHandle: THandle; {要等待的对象句柄} dwMilliseconds: DWORD {等待的时间, 单位是毫秒} ): DWORD; stdcall; {返回值如下:} WAIT_OBJECT_0 {等着了, 本例中是: 阅读全文
posted @ 2010-04-21 23:15 delphi中间件 阅读(791) 评论(0) 推荐(0)
摘要: 1. 返回标量数据的函数用户定义函数接受零个或更多的输入参数,并返回单值。一些用户定义函数返回单个的标量数据值,如 int、char 或 decimal 值。例如,下面的语句创建一个返回 decimal 的简单函数:CREATE FUNCTION CubicVolume-- Input dimensions in centimeters. (@CubeLength decimal(4,1), @CubeWidth decimal(4,1), @CubeHeight decimal(4,1) )RETURNS decimal(12,3) -- Cubic Centimeters.ASBEGIN. 阅读全文
posted @ 2010-03-24 09:01 delphi中间件 阅读(394) 评论(0) 推荐(0)
摘要: 希望就像鱼肉,失望就像鱼刺,鱼小则鱼刺也小一个人失恋了,朋友劝他:应该伤心的人是她,因为她失去了一个爱她的人,而你只不过失去了一个不爱你的人!有一天,佛陀把全世界自认为最痛苦的人聚集在一起,让他们把自己遇到的最痛苦的一件事写出后与别人交换。这些人照做后,惊讶地发现,世上还有那么多的痛苦,而自己只不过是经历了一点点罢了!其实忍受痛苦的方法很简单,看看别人的痛苦就可以了!一个小女孩爬在窗台上,伤心地看着窗外的人正埋葬她心爱的小猫。她的妈妈见状急忙将她带到另外一个窗口,让她欣赏起花园里美丽的花朵和飞舞的蜂蝶。她的妈妈对她说:孩子,你刚才开错了窗户!其实选择心情的方法很简单,别开错‘窗户’就可以了!一 阅读全文
posted @ 2010-03-22 11:56 delphi中间件 阅读(250) 评论(0) 推荐(0)
摘要: 第一步建立存储过程create proc MyABC @a int ,@b int, @c int output as set @c=@a*@b在SQL中使用查询分析器执行:declare @a int,@b int,@c int set @a=250set @b=40exec MyABC @a,@b,@c output --注意要添加output 关键字!select @c在DELPHI中使用数据集控件执行: ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(‘execute MyABC :a,:b,:c output‘);//也 阅读全文
posted @ 2010-03-22 11:05 delphi中间件 阅读(514) 评论(0) 推荐(0)
摘要: 大型数据库SQL,ORACLE都支持俩个处在异地的数据库之间建立数据库间的链路链接。当数据库之间的链路建立好后,就可以像操作本地数据库一样地操作远程的数据库。下面以SQL SERVER为例: --Author: CXG--Todo: 建立数据库链路链接-----------------------------------------------------------------------------------------------------前提条件:首先要确保SQL SERVER上面的msdtc服务已经成功启动。--增加远程数据库链接execute sp_addlinkedserv. 阅读全文
posted @ 2010-03-22 10:50 delphi中间件 阅读(337) 评论(0) 推荐(0)
摘要: 专门设计一个数据表用于存放管理软件中各种单据的最新的单据编号。编写一个存储过程用于自动生成单据编号。--****************--计算id--使用//表级排它锁//防止用户同时修改该记录--****************CREATE PROCEDURE GetId@xh integer,@id integer outAS /*如果想在连接一中锁住整个表,不允许其他事务更新表中任何记录,但可以读取记录,可使用HOLDLOCK选项,即(HOLDLOCK 等同于 SERIALIZABLE) sql server 对并发的处理由它本身的锁控制,貌似并发,其实有等待排队的现象,只不过时间.. 阅读全文
posted @ 2010-03-22 10:33 delphi中间件 阅读(1151) 评论(0) 推荐(0)
上一页 1 ··· 171 172 173 174 175 176 177 178 179 ··· 203 下一页