摘要: http://www.cppblog.com/mzty/archive/2007/03/04/19163.htmlC++随笔分类列表(高级)C++随笔分类列表(高级):C++精华:61条面向对象的设计原则 http://www.cppblog.com/mzty/archive/2005/12/29/2247.htmlc++资源 http://www.cppblog.com/mzty/archive/2005/11/16/1148.htmlC++ Style and Technique FAQ http://www.cppblog.com/mzty/archive/2005/11/30/1437 阅读全文
posted @ 2012-09-04 12:24 董雨 阅读(229) 评论(0) 推荐(0) 编辑
摘要: http://www.oschina.net/question/28_53992在开发C++程序时,一般在吞吐量、并发、实时性上有较高的要求。设计C++程序时,总结起来可以从如下几点提高效率:并发异步缓存下面将我平常工作中遇到一些问题例举一二,其设计思想无非以上三点。1任务队列1.1 以生产者-消费者模型设计任务队列 生产者-消费者模型是人们非常熟悉的模型,比如在某个服务器程序中,当User数据被逻辑模块修改后,就产生一个更新数据库的任务(produce),投递给IO模块任务队列,IO模块从任务队列中取出任务执行sql操作(consume)。 设计通用的任务队列,示例代码如下:详细实现可参.. 阅读全文
posted @ 2012-09-04 12:19 董雨 阅读(274) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/lzx_bupt/article/details/6913151最近喜欢听大学听到的老歌,deutschland 德国世界杯时候流行的,据说不是主题曲但是比主题曲还要火。本篇进入难点了,mutex互斥锁概念,mutex=mutual exclusion的缩写,顺便说一句:以前老师都爱用缩写,也不跟同学说全称,这尼玛能理解深刻么!下文是用法:[cpp] view plaincopy#include<iostream>#include<pthread.h>//按规矩不能少usingnamespacestd;#defineNUM_TH 阅读全文
posted @ 2012-09-04 12:16 董雨 阅读(292) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/lzx_bupt/article/details/6915117上篇说了下互斥量的用法,今儿说一下条件信号量的用法,这两种多线程变量的用法其实取决于情景,需要体会,见文:[cpp] view plaincopy#include<iostream>#include<pthread.h>//带头文件#include<stdio.h>usingnamespacestd;#defineBOUNDARY5inttasks=10;pthread_mutex_ttasks_mutex;//因为两个线程要修改一个全局变量,需要互斥量 阅读全文
posted @ 2012-09-04 12:16 董雨 阅读(423) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/lzx_bupt/article/details/6913039经过前面的几个例子,是不是还少个线程创建时属性参数没有提到,见下文示例:[cpp] view plaincopy#include<iostream>#include<pthread.h>#include<iostream>#include<pthread.h>usingnamespacestd;#defineNUM_THREADS5void*say_hello(void*args){cout<<"hellointhrea 阅读全文
posted @ 2012-09-04 12:15 董雨 阅读(414) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/lzx_bupt/article/details/6910597在基础一上思考,如果线程调用的函数是在一个类中怎么办?答案是将该函数写成静态成员函数,如下模式就很符合C++的写作模式:[cpp] view plaincopy#include<iostream>#include<pthread.h>usingnamespacestd;#defineNUM_THREADS5classHello{public:staticvoid*say_hello(void*args)//除了多了static关键字,别无异样;{cout<&l 阅读全文
posted @ 2012-09-04 12:14 董雨 阅读(505) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/lzx_bupt/article/details/6910632线程会创建了,如何在线程调用函数时,传入参数呢?则应如下所示:[cpp] view plaincopy#include<iostream>#include<pthread.h>usingnamespacestd;#defineNUM_THREADS5void*say_hello(void*args){inti=*((int*)args);//对传入的参数进行强制类型转换,由无类型指针变为整形数指针,然后再读取;cout<<"helloin&qu 阅读全文
posted @ 2012-09-04 12:14 董雨 阅读(835) 评论(0) 推荐(0) 编辑
摘要: 利用几篇文章简单记录下c与c++多线程编程基础入门的东西,每篇一个程序来记录,备忘。这些章节是由浅入深组织的,赖死狗!在注释中讲吧,佛楼米![cpp] view plaincopy#include<iostream>#include<pthread.h>//头文件是必须的,符合posix标准使程序可移植众多平台usingnamespacestd;#defineNUM_THREADS5void*say_hello(void*args)//线程的运行函数,必须void*,没说的表示返回通用指针、输入通用指针{cout<<"hello..."& 阅读全文
posted @ 2012-09-04 12:13 董雨 阅读(1314) 评论(0) 推荐(0) 编辑