软件设计和编程
文章平均质量分 68
dellme99
这个作者很懒,什么都没留下…
展开
-
面向对象,服务器架构,设计模式探讨
面向对象,服务器架构,设计模式探讨鹦其鸣声,求其友矣原著:吕跃强 版权申明:完全属于吕跃强,任何转摘和引用必须指明出处 主 要 内 容n 1 服务器本身的架构n 2 设计模式,面向对象在服务器开发中的应用参考: 网络的基础架构: ACE 高效的并发服务器结构: apache(session独立性较高)特殊应用服务器 : dar原创 2005-07-18 09:31:00 · 1842 阅读 · 0 评论 -
图计算代码
#include #include // only can move right and down. Matrix mxn, how many ways from point(0,0) to point(m,n)int ways(int m, int n){ if( 0==n && 0==m) return 0; if( 0==n || 0==m ) retur原创 2016-01-25 08:43:37 · 730 阅读 · 0 评论 -
双向链表 代码
#include #include typedef struct node{ struct node *prev; struct node *next; int value;} Node;class linked_list{private: Node * head; Node * cur;public: linked_list()原创 2016-01-25 08:41:01 · 489 阅读 · 0 评论 -
二叉树 代码 早年联系题
#include #include #include typedef struct node{ struct node *left; struct node *right; int value;} Node;static Node *p_node[100];// for BSF way breadthordervoid enqueue( N原创 2016-01-25 08:39:49 · 381 阅读 · 0 评论 -
排序算法代码 早年练习题 冒泡 归并 快速
#include #include #include //quick sortvoid swap(int *px, int *py){ int tmp; tmp = *px; *px = *py; *py = tmp;}int split(int a[],int low, int high){ int i=low, j=hi原创 2016-01-25 08:35:46 · 407 阅读 · 0 评论 -
一个轻型的线程库 socket库
https://github.com/halayli/lthreadhttp://lthread.readthedocs.org/en/latest/intro.html#license原创 2015-05-06 10:03:32 · 412 阅读 · 0 评论 -
关于内存管理
http://www.360doc.com/content/13/0915/09/8363527_314549128.shtmlhttps://www.facebook.com/notes/facebook-engineering/scalable-memory-allocation-using-jemalloc/480222803919https://software.intel转载 2014-04-24 09:51:14 · 645 阅读 · 0 评论 -
TSX之有限事务内存,TSX之锁消除技术 和 lock free 编程之比较(有效总结)
在多核年代提倡并行编程,然而锁技术大大削弱了系统的并行性。cpu的使用率并不高。 而且一些开源的框架由于锁问题导致了并行性能不好。 但是目前流行的无锁编程、事务同步扩展技术(包括有限事务内存和硬件锁消除)等技术大大提高了系统的并行性。这里介绍了这三者。并且深刻提取了这三者的技术特点和相互之间的区别。原创 2014-02-05 09:31:17 · 4147 阅读 · 0 评论 -
STL中Map 与Hash Map
Summary of the difference1. STL map is an associative array where keys are stored in sorted order using balanced trees. While hash_map is a hashed associated container, where keys are not stored i原创 2013-11-27 22:10:26 · 1330 阅读 · 0 评论 -
无锁编程 汇总
无锁编程主要是通过一系列原子操作实现。原子操作:1. Read-Modify-Write(RMW)操作Win32上的_InterlockedIncrement and InterlockedDecrement,iOS上的OSAtomicAdd32以及C++11中的std::atomic::fetch_add。需要注意的是,C++11的原子标准不保证其在每个平台上的实现都是无原创 2013-11-06 17:30:22 · 1027 阅读 · 0 评论 -
TCP 三次握手 四次挥手 socket 状态 对应代码
int CSocket::SetSockOpt(int iLevel, int iOptName, const void *pOptVal, socklen_t tOptLen){ if( setsockopt(m_iSocket,iLevel,iOptName,pOptVal,tOptLen) { m_strError="fail in functio原创 2013-11-07 16:51:38 · 1217 阅读 · 0 评论 -
compler moves this pointer while Upcasting derived ojbect pointe to parent pointe by static_cast
原文链接在多继承的情况下,用static_cast去upcast子对象指针到父对象指针时候,This 指针会自动偏移到正确的那路父对象指针。 条件是static_cast时候,子对象的指针不可以是(void *)必须是(static_cast *). 原因是static_cast是编译时候处理的。单继承(Single Inheritance,SI)对象模型转载 2013-11-05 09:48:51 · 914 阅读 · 0 评论 -
static_cast、dynamic_cast、reinterpret_cast、和 const_cast
关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和 const_cast。下面对它们一一进行介绍。 错原创 2013-11-05 10:14:20 · 1082 阅读 · 0 评论 -
事件驱动实现单线程实现并发 真正的高效并发
无堵塞并发编程http://www.jdon.com/42781原创 2013-11-11 17:35:31 · 2989 阅读 · 0 评论 -
git 入门 链接
http://www.ruanyifeng.com/blog/2014/06/git_remote.htmlhttp://rogerdudler.github.io/git-guide/index.zh.html转载 2016-03-09 10:14:10 · 360 阅读 · 0 评论