wintree的专栏

专注于Linux系统编程,网络编程,高性能服务器技术,c/c++技术学习

信号量,互斥锁和条件变量之间的差异

首先信号量,互斥锁和条件变量 具体如何使用大家可以去学习UNP2进程间通信。里边以消费者生产者模型为例子,讲的很好,推荐大家学习。 信号量,互斥锁和条件变量 在linux编程中,常用于线程间的同步。   在计算机中,一些资源在同一时间只允许一个线程进行修改。   那么这三者根据自身的特点...

2012-10-11 23:58:20

阅读数:3515

评论数:0

]linux内核学习之网络篇——接收分组

计算机处于网络中,是不知道什么时候会发过来数据,是不可预测的。因此,目前所有的现代设备驱动程序都是使用了中断来通知内核的有 链路层的以太网帧到达。 驱动程序有特定的相应的程序,因此当有数据帧到达的时候,内核就会调用该程序。将数据从网卡上传输到物理内存中。或者通知内核延迟处理。 下面一个图就是...

2012-10-11 00:58:27

阅读数:2839

评论数:0

linux内核学习之网络篇——网络物理层的设备初步

网卡是是网络中最基本的硬件之一。 在内核中,每个网络设备都一个一个net_device 结构体实例,在进行初始化完成之后,会将该结构注册到内核中。然能内核知道该结构的存在。 这会创建一个sysfs项,这,关联到该设备的对应目录中。该目录为 [root@localhost ~]# ls -l...

2012-10-09 00:58:50

阅读数:1684

评论数:0

用代码和UML图化解设计模式之《迭代器模式》

这个模式在stl中是非常之常见,因为迭代器进行元素输出的时候基本都是用这个。。。。。不多说上图     自己实现一个简单的栈,内部友元类是iterator  迭代器初始化mystack;   // Iterator.cpp : 定义控制台应用程序的入口点。 //*********...

2012-10-31 23:29:43

阅读数:1672

评论数:0

用代码和UML图化解设计模式之《装饰模式》

这个模式看了两次,因为我有点不太理解,其实到现在也不太理解。 通过写代码,自我理解就是把对象重新装饰了一遍。通过继承同一个基类。而不用添加额外的类了。。。。 上图吧 通过修饰类达到我们想要的效果。修饰类通常初始化了基类。 // Decorator.cpp : 定义控制台应用...

2012-10-29 23:30:30

阅读数:1763

评论数:0

用代码和UML图化解设计模式之《命令模式》

一、建立命令队列;二、可以将命令记入日志;三、接收请求的一方可以拒绝;四、添加一个新命令类不影响其它类; 命令模式把请求一个操作的对象与知道怎么操行一个操作的对象分开 命令模式感觉就是一个领导接受客户端的命令,让底下的人去做,但是比较特殊。继承命令   上图     上代码  ...

2012-10-25 22:55:28

阅读数:2683

评论数:0

线程下变量-原子操作 __sync_fetch_and_add

转:http://blog.csdn.net/i_am_jojo/article/details/7591743 最近编码需要实现多线程环境下的计数器操作,统计相关事件的次数。下面是一些学习心得和体会。不敢妄称原创,基本是学习笔记。遇到相关的引用,我会致谢。 当然我们知道,count++这...

2012-10-25 12:54:05

阅读数:1513

评论数:0

用代码和UML图化解设计模式之《桥接模式》

桥接模式就是 独立和实现相分离。 不同的厂家生产不同的产品。。。。产品和厂家有这组合的关系。 上代码 // Bridge.cpp : 定义控制台应用程序的入口点。 // / //*************************************************...

2012-10-25 00:44:54

阅读数:2421

评论数:0

用代码和UML图化解设计模式之《创建者模式》

今天学习了建造者模式,目前较为复杂的一个模式之一。但是思考起来就觉得她很像抽象工厂的生产者模式。   但是比生产者多了一个导演着的身份,这个指挥着建造者去生产谁。。。   所以,这个模式还是挺有意思的。直接上UML图。   我们生产两种商品,两种商品是有厂家决定,商品只决定具有哪些...

2012-10-24 00:27:43

阅读数:1650

评论数:0

用代码和UML图化解设计模式之《模板方法模式》

今天学习了模板方法模式,让我恍然大悟,似曾相识。因为之前自己再设计项目的时候,就用到了这个模式。 当时还不知道自己用的是个模式,只是觉得非常好。很给力。所以,今天学起来很有感受。   这个模式就是利用了面向对象的多态,抽象哪些公用的方法,就不用实现了,其他的按照业务逻辑来独自实现。 等到调...

2012-10-23 00:46:24

阅读数:2036

评论数:2

用代码和UML图化解设计模式之《适配器模式》

所谓适配器模式,就是为了解决或者叫融合系统之间的差异,通过提供一个类,来融合这种差异。 这让我想起来读《UNIX 编程艺术》里一个名词  就是胶合层。   胶合层也算是一种适配上层鱼下层之间的差异和出现的一种处理方式。   这个是解决系统差异的一个具体表现,   下面上图吧   ...

2012-10-22 10:12:25

阅读数:3054

评论数:0

用代码和UML图化解设计模式之《门面模式》

看了门面模式的一些资料。觉得门面模式就是为了解决实体类过多,而这些实体类就是为了做一件事情,组合起来。   因此门面模式出现了,他就是解决很多类的协调关系。用另个一类聚合这些类之间的事情。因此,当我们调用一个类的时候,所有的事情完成了   这个看起来就像一个门面一样。   图呢,和策略...

2012-10-21 23:26:42

阅读数:1440

评论数:0

用代码和UML图化解设计模式之《抽象工厂模式》

抽象工厂模式,就是把工厂类也给他多态了。   根据需求不同的工厂生产不品种的实体。比如在游戏中。 纯在vip用户对应的vip的宠物对应的vip的怪物,或者vip任务。因此,vip工厂就生产vip这些东西了。但是普通的也要生产。因此 就抽象出来两个类了。   下面我是根据游戏中,不同的角色来...

2012-10-21 01:45:16

阅读数:3163

评论数:0

用代码和UML图化解设计模式之《工厂模式》

所谓工厂模式,其实就是用来产生实例的地方。生产某一类型的产品。因此也是利用了类管理和类多态的一个特性吧。   下面直接上图   在Factory 中产生human的实例,   然后通过实例来调用方法。 // Factory.cpp : 定义控制台应用程序的入口点。 /******...

2012-10-20 11:06:13

阅读数:4459

评论数:0

用代码和UML图化解设计模式之《代理模式》

代理模式,就是相同的两个类,一个类做另一个类的代理人。出头露面的是第一个人,实际做事情的是第二人。   但是第一个人怎么知道第二个人能做那些事情。就继承了同一个父类。     CMon类代理他所有女儿的事情。 而不用他们女儿亲自出马,但是呢实际做事情的还是他们女儿。 下面上代码 ...

2012-10-19 10:08:53

阅读数:2257

评论数:0

用代码和UML图化解设计模式之《策略模式》

什么是策略模式,用我个人的定义就是利用了面向对象的多态等特性,通过一个类来管理实体类的一种编程技巧。 这种模式在项目中是经常用到的。   通过建模大家可以清晰的看到这些类层次关系。下面就用代码来实现一下。 我使用的是VS2005的,大家可以根据需要修改部分代码。   #includ...

2012-10-18 09:44:10

阅读数:2485

评论数:0

Linux 中直接 I/O 机制的介绍

转载自 http://www.ibm.com/developerworks/cn/linux/l-cn-directio/   直接 I/O 的动机 在介绍直接 I/O 之前,这一小节先介绍一下为什么会出现直接 I/O 这种机制,即传统的 I/O 操作存在哪些缺点。 什么是缓存 I/O (...

2012-10-08 00:43:22

阅读数:1802

评论数:0

c语言实现双链表

#include #include #include typedef struct myList DNode; struct myList { DNode *next; DNode *prev; int data; }; DNode* init(int data); voi...

2012-10-06 16:56:01

阅读数:1626

评论数:2

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