自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (2)
  • 收藏
  • 关注

转载 Thunk 技术的一个改进

转自:http://www.vckbase.com/document/viewdoc/?id=1817摘要:介绍了 thunk 技术中如何避免直接写机器码。关键字:Thunk  机器码 this指针  Thunk技术,一般认为是在程序中直接构造出可执行代码的技术(在正常情况下,这是编译器的任务)。《深度探索C++对象模型》中对这个词的来源有过考证(在中文版的162页),说thunk是knuth的倒拼字。knuth就是大名鼎鼎的计算机经典名著《The Art of Computer Programming》的

2011-05-25 21:54:00 670

转载 封包和拆包

<br />封包和拆包 收藏作者:fengge8ylf 博客:http://blog.csdn.net/fengge8ylf对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就是封包和拆包.自从我从事网络通讯编程工作以来(大概有三年的时间了),我一直在思索和改进封包和拆包的方法.下面就针对这个问题谈谈我的想法,抛砖引玉.若有不对,不妥之处,恳求大家指正.在此先谢过大家了.一.为什么基于TCP的通讯程序需要进行封包和拆包.TCP是个"流"协议,所谓流,就是没有界限的一串数据.大家可以想

2011-05-11 11:01:00 983

转载 explicit关键字与拷贝构造及赋值

<br /><br />今天看到公司的代码内有大量的explicit关键字,但是老版的MSDN内例子并不完善,实在是不明白,最终从网上一篇文章内找到了答案:原来explicit是为了防止隐式使用拷贝构造函数的.以下附上从新版MSDN中找到的例子和网上那篇文章:<br />// Copy From MSDN<br />This keyword is a declaration specifier that can only be applied to in-class constructor declarat

2011-05-09 20:36:00 754

转载 CountDownLatch同步辅助类

<br /><br />从名字可以看出,CountDownLatch是一个倒数计数的锁,<br />当倒数到0时触发事件,也就是开锁,其他人就可以进入了。<br />在一些应用场合中,需要等待某个条件达到要求后才能做后面的事情;同时当线程都完成后也会触发事件,以便进行后面的操作。<br /><br />CountDownLatch最重要的方法是countDown()和await(),前者主要是倒数一次,后者是等待倒数到0,如果没有到达0,就只有阻塞等待了。<br /> <br />下面的例子简单的说明了Co

2011-05-09 20:26:00 823

转载 进程线程及堆栈关系的总结

<br />进程线程及堆栈关系的总结<br />突然想到进程的栈和线程的栈,就顺便说一下,线程的栈被自动分配到进程的内存空间中<br />进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于: <br /><br />简而言之,一个程序至少有一个进程,一个进程至少有一个线程. <br />线程的划分尺度小于进程,使得多线程程序的并发性高。 <br />另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 

2011-05-08 17:23:00 29696 4

转载 select、poll、epoll

<br /><br />版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明<br />http://xufish.blogbus.com/logs/72686176.html<br /> select<br />select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。<br />select目前几乎在所有的平台上支

2011-05-05 20:24:00 1268

转载 linux中使用pthread_kill函数测试线程是否存活

<br /><br />pthread_kill:<br />别被名字吓到,pthread_kill可不是kill,而是向线程发送signal。还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理函数。<br />int pthread_kill(pthread_t thread, int sig);<br />向指定ID的线程发送sig信号,如果线程代码内不做处理,则按照信号默认的行为影响整个进程,也就是说,如果你给一个线程发送了SIGQU

2011-05-05 20:18:00 25680

转载 linux获取线程Id的三种方法

<br />我使用了第二种方法,很方便: #define gettid() syscall(__NR_gettid) 用到的地方 gettid() 在linux2.4版本后,linux使用了NPTL作为自己的线程库,为了兼容POSIX标准,所以在内核task中有两个域tgid和tid,前者是进程id,后者是线程id。在linux上获得线程id的方法,目前我所知的有三种,当然这里的三种是指在用户态的程序中,否则除非自己写的kernel module, 都是调用编号224的系统调用实现的(2.6版本)。 第一种

2011-05-03 14:50:00 14868

npapi-browser_plugin

NPAPI chrome browser_plugin

2011-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除