`
844604778
  • 浏览: 554181 次
文章分类
社区版块
存档分类
最新评论
文章列表
http://blog.csdn.net/gmmgood/archive/2006/01/20/584662.aspx
http://raibledesigns.com/wiki/Wiki.jsp?page=Articles_zh
Linux的新式线程同步原语——Futex   在我的上一篇文章《本地POSIX线程库》中,提到了Futex一词,发现好多读者误以为这是我的笔误,将Mutex错写为Futex了。其实Futex是Linux的一种全新的线程同步原语。本文将为您解读高效的Futex。  Futex是fast userspace mutex的缩写,意思是快速用户空间互斥体。Linux内核把它们作为快速的用户空间的锁和信号量的预制构件提供给开发者。Futex非常基础,借助其自身的优异性能,构建更高级别的锁的抽象,如POSIX互斥体。大多数程序员并不需要直接使用Futex,它一般用来实现像NPTL这样的系统库。  Fute ...
本地POSIX线程库 在Linux操作系统中,本地POSIX线程库(NPTL)是一种软件特性,它可让Linux的内核,高效地运行那些使用POSIX风格的线程所编写的程序。 测试中,NPTL在一个IA-32处理器上,成功地同时跑了10万个线程,启动这些线程只用了不到2秒。比较起来,在不支持NPTL的内核上,这个测试花费了大约15分钟。 以前
会话初始协议(SIP) 1.简介 在Internet中,有许多应用要求创建与管理会话。会话可以被看作是相关参与者之间的数据交换。这些应用的具体实现由于参与者的一些实际情况而变得错综复杂,用户可能是在两端点之间移动,可能他们能够通过多个不同的名字被访问到,他们的通讯也可能建立在不同的媒体之上——有时这些情况一同发生。众多可携带多种不同格式的,如语音、视频以及文本消息的多媒体实时会话数据的协议已经被制定出来。会话初始协议的工作就是通过Internet端点(被称作用户代理)协调这些协议来彼此发现,并就他们所希望共享的特征化会话达成一致。为了定位预期的会话参与者,同时也是为了其他的功能 ...
我最近几天闲了没有事情,就写了一个md5类。Class Md_ClassPrivate BITS_TO_A_BYTEPrivate BYTES_TO_A_WORDPrivate BITS_TO_A_WORDPrivate m_lOnBits(30)Private m_l2Power(30)Private Sub Class_Initialize()BITS_TO_A_BYTE = 8 BYTES_TO_A_WORD = 4 BITS_TO_A_WORD = 32End Sub Private Sub Class_Terminate()BITS_TO_A_BYTE = "" B ...
今天好难过啊。考试居然没有考好。郁闷啊。天天受到老板的剥削。连考试都会欺人太甚啊。。。。。。伤心啊。。。。。难过啊。。。。。程序员怎么这么难当。想为了生活好好做点实事。咱就这么倒霉死了。。。老师就是不让我填答题卡。四级又死翘了。。。下次,再考,一定坚持曾国藩的精神-------屡败屡战的精神。。。。。。。。。。。今天,本来打算写一点java的工具----关于自动生成asp和jsp的工具的。。。。看来,只好往后面拖了。。。等我什么心情好一点了,再写这个工具,到时,一定公布网上,让大家用一把。。。。。。我早就有这个想法,写个自动生成的asp和jsp的工具。现在,没有心情写了,只好默哀三个星期了。。。 ...
今天郁闷,刚刚写了一段东西,被它无情的抹杀掉了。好难过啊!!!!明天继续写这个东西。今天,就到此为止吧。。明天,把我的写得东西发出来,开始给大家的只是截图。如果大家想加什么功能的话。我一定慢慢加来。。。为什么我上传图片,无法上传。我本来想给大家看看这个软件的界面。看来,无法实现我的愿望。。。这个软件由于经过我的同事的需求而做的。功能,就是自动生成oralce备份和恢复的批处理。然后。你可以执行这个批处理文件,得到你想要的东西。希望你们能喜欢。我本来可以扩充这个软件到sqlserver数据库的。考虑到软件打包太大,就只能说拜拜了。
/***checkFloat 函数校验此框输入的是否为float型的数据,返回的值为真和假,true和false;**Object目标对象,Desc中文的描述.*/function checkFloat(Object,Desc){var strFloat=Object.value;if(strValue.length==0){return true;}else{var pattern=/^(-?/d+)(/./d+)?$/;if(strFloat.match()==null){alert("“"+Desc+"”必须为一个数字,请修改!");Object.f ...
/***checkNotNull函数校验此框输入的数据不为空,返回的值为真和假,true和false;**Object目标对象,Desc中文的描述.*/function checkNotNull(Object,Desc){var strValue=Object.value;if(strValue.length==0){alert("“"+Desc+"”不能为空,请修改!");Object.focus();return false;}else{return true;}}
/***checkInteger 函数校验此框输入的是否为Integer型的数据,返回的值为真和假,true和false;**Object目标对象,Desc中文的描述.*/function checkInteger(Object,Desc){var strInteger=Object.value;if(strInteger.length==0){return true;}else{var pattern = /^-?/d+$/;if(strInteger.match(pattern)==null){alert("“"+Desc+"”必须为一个数字,请修改!" ...
说起这个函数,大家都见过,并且,高手对这个不屑一顾。咱这个主要是对那些初级网络编写者。希望我能够出一点力,使那些初学者少走弯路。。。我这个校验函数写的不怎么好。希望有更好的续接在后面。。。谢谢大家了。。。。。/***checkEmail 函数校验此框输入的是否为email型的数据,返回的值为真和假,true和false;**Object目标对象,Desc中文的描述.*/function checkEmail(Object,Desc){var pattern = /[a-zA-Z0-9_.]{1,}@[a-zA-Z0-9_]{1,}.[a-zA-Z0-9_]{1,}/;var strValue=O ...
经常看别人的代码,感觉他们写的如此精炼。叹为观止啊。今天,我贴上我在网上找到的一个用javascript写的校验函数。希望大家喜欢。。。function validateFunction(obj){if(obj==null){if(document.forms[0])obj=document.forms[0];else return true;}var formElements=obj.elements;var iCount;for(iCount=0;iCount<formElements.length;iCount++){if(((formElements[iCount].type==& ...
class Base64Classrem Const dim sBASE_64_CHARACTERS '转化码 dim lenString '计算字符串的长度 dim iCount '计数器 dim returnValue '返回值 dim tempChar '缓存字符 dim tempString '缓存字符串 dim paramString '参数字符串 dim temHex '缓存缓存十六进制 dim tempLow '缓存低位 dim tempHigh '缓存高位 dim mod3String' dim mod4String' dim tempBinary' dim tempByteOn ...
标准MIDI文件格式达思挺·考德威尔 标准的MIDI文件格式就像奇异的兽。总体看来,它是那样的让你无法抗拒。当然,你怎样看它无关紧要,可是用足够多的描述符描述一段音乐并使它能够重现,可不是很少的工作就可以完成的。然而,它虽然复杂,但是真正理解之后,MIDI文件格式的结构还是很直观明了的。在这里我必须放弃一些东西,因为毕竟我不是MIDI也不是MIDI文件专家!最近我为我的PC准备了一块Gravis 超音频音效卡,利用它听完几段MIDI文件(.mid)之后,想:“呵,我要是能够制作自己的MIDI(.mid)文件该多好啊!”嗯,经过烦人的几个小时之后,我发现,那些并不是没有价值的工作。但是, ...
Global site tag (gtag.js) - Google Analytics