搜索到与相关的文章
编程技术

用户态多线程实现的基本原理

本文参考了用户态非抢占式线程库实现一文以及GNUPth。前者是一种用户态线程库的简单实现,属于一个很好的demo,后者就是大家熟知的Pthread的用户态实现,比较完善。Keywords:User-SpaceMultiThreading,Pth所谓多线程,简单讲就是能够让几个不同的代码片段轮流执行。内核实现多线程的方法比较直观,在每次时钟中断到来时或者用户调用syscall陷入内核时进行上下文切换即可。用户态切换线程要解决两个问题:1、时机,即何时切换线程

系统 2019-08-29 22:15:39 2283

编程技术

设计模式之--观察者模式

在日常生活中,有很多需要我们关注的事务(比如,股市,楼市等),这些事务我们可以称之为主题或者叫信息发布者,观察主题的目的是想了解主题的变化(消息)。一种方法当然是采用盯人策略,但这种方法有个固有的缺点,就是你盯住主题的时候,无法干其他事情,如果需要了解的主题比较多,这种办法就很麻烦了;另外一种就是主题广播,我想听的时候我就去听,不想听的时候我就不听,这种方式的好处就是可以使得观察者不用盯住主题,但缺点是如果信息发布者的信息发布是不固定的,观察者(信息接收者

系统 2019-08-29 22:14:05 2283

编程技术

HTML hr标签学习

文章摘抄http://www.w3cplus.com/css/css-hr
标签是html4用来制作水平线的。如果你在网页制作中使用了
标签来制作水平分隔线,你知道在没有样式设置的情况下,他是很难看的。
在各浏览器的显示常常是100%的宽度,2px的高度,3D边框风格渲染。默认情况是不太好看,或者也不符合你的网页风格,但是你给
标签设置了样式,这样他看起来就不会那么难看,同时也更能适合你的页面风格。但是,你千万要小心,因为有一

系统 2019-08-29 22:10:17 2283

编程技术

装饰器模式

【转】http://www.iteye.com/topic/317132装饰器涉及四个名词1、接口或者抽象基类2、被装饰对象,也就是一个简单的实现了1中提到的接口或者抽象基类的实现类。3、装饰对象,就是去装饰被装饰对象的对象4、继承装饰对象类的子类,也就是具体的装饰器类了。说了这么多,估计你基本跟没听说过一样。好了,来段代码,看看//这是第一类名词publicinterfaceIDecorate{publicvoidsayHello();}//这是第二类名

系统 2019-08-29 22:08:25 2283

编程技术

【Lucene3.0 初窥】索引文件格式(1):预备知识

注意,本专题内容参见《http://lucene.apache.org/java/3_0_1/fileformats.html》深入了解Lucene的磁盘索引文件,可以使我们对IR系统底层数据存储结构有一个深刻的认识。在《索引文件格式》这一专题中,我们将详细探讨Lucene3.0索引数据在磁盘上的存储格式,并通过一个实例进一步理解这些格式。但首先,我们必须准备点Lucene索引文件格式的基础知识。★Lucene自定义的基本数据类型【Byte】由8bits组

系统 2019-08-29 21:59:38 2283

编程技术

Qt-----给菜单项添加图标

1新建一个QtGuiApplication,继承至QMainWindow,生成如下窗口,最上面的即为菜单栏2在TypeHere出双击,输入“操作(&O)”,加“&O”即可将操作菜单的快捷键设为Alt+O,输入完成后按下Enter键确认3在操作菜单的子菜单中添加“退出(&Q)”,确定后,效果如下图4在下面的动作编辑窗口(ActionEditor)可以看见刚添加的“退出”菜单5双击“退出”菜单的这一项,打开其动作编辑对话框6可以看见Icon项,即菜单的图标。点

系统 2019-08-12 09:30:37 2283

编程技术

浅谈Exchange Server邮件存储系统-原理篇(3)

在这个过程中,EventLog中会有如下的记录EventType:InformationEventSource:ESE98EventCategory:LoggingandRecoveryEventID:301Date:10/17/2001Time:5:52:11AMUser:N/AComputer:Description:InformationStore(XXXX)Thedatabaseengineha

系统 2019-08-12 09:30:29 2283

编程技术

Spring事务配置的五种方式

段时间对Spring事务配置做了比较深入的研究,在此之间对Spring事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring事务配置只要把思路理清,还是比较好掌握的。总结如下:Spring配置文件中关于Spring事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。DataSource、TransactionManager这

系统 2019-08-12 09:30:22 2283

编程技术

v4l2驱动摄像头 出现错误UINT64_C' was not dec

编译时报错如下:/usr/include/libavutil/common.h:168:错误:'UINT64_C'wasnotdeclaredinthisscope解决:在common.h里面添加#ifndefUINT64_C#defineUINT64_C(value)__CONCAT(value,ULL)#endif视图如下:v4l2驱动摄像头出现错误UINT64_C'wasnotdeclaredinthisscope解决

系统 2019-08-12 09:29:53 2283

编程技术

Struts2拦截器执行顺序

在之前的文章中,我们已经涉及到了拦截器(Interceptor)的概念。接下来,我们将重点讨论一下Struts2中的拦截器的内部结构和执行顺序,并结合源码进行分析。Interceptor结构让我们再来回顾一下之前我们曾经用过的一张ActionLifeCycle的图:我在这里需要指出的是一个很重要的方法invocation.invoke()。这是ActionInvocation中的方法,而ActionInvocation是Action调度者,所以这个方法具备

系统 2019-08-12 09:29:32 2283