基于对象和面向对象设计
线程类封装,生产者消费者,线程池
Step to Step_001
这个作者很懒,什么都没留下…
展开
-
封装线程类实现线程池——基于对象(待写)
待整理原创 2021-05-10 17:13:17 · 74 阅读 · 0 评论 -
封装线程类实现线程池——面向对象(待写)
待整理原创 2021-05-10 17:12:44 · 78 阅读 · 0 评论 -
封装线程类实现生产者消费者——基于对象
已经写完原创 2021-05-10 17:12:13 · 157 阅读 · 0 评论 -
封装线程类
基于对象Noncopyable.hh#ifndef __MY_NONCOPYABLE_H__#define __MY_NONCOPYABLE_H__//对线程对象、锁对象、条件变量对象等系统资源进行复制没有意义,所以禁止这些对象的复制。//方法:让这些类继承自不可复制类namespace my{class Noncopyable //不可复制类{protected: Noncopyable() {} ~Noncopyable() {} Noncop.原创 2021-05-10 09:29:06 · 256 阅读 · 0 评论 -
封装线程类实现生产者消费者——面向对象
Condition.hpp#ifndef __CONDITION__H__#define __CONDITION__H__#include "MutexLock.hh"#include <pthread.h>namespace my{class Condition {public: ~Condition(); Condition(MutexLock & mutex); void wait(); void notify();//唤醒一原创 2021-05-07 11:32:20 · 208 阅读 · 0 评论 -
封装线程类——基于对象设计和面向对象设计的区别
面向对象(OO)1、对象和线程是一一对应的关系:先创建生产者对象,再由生产者对象创建出一个线程2、线程需要实现的任务由对象的成员函数决定(该成员函数是虚函数)3、通过纯虚函数+继承的方式实现动态多态4、先有一个抽象线程类,再派生出生产者类、消费者类等等基于对象(BO)1、只有一个线程类2、需要线程完成的任务只依赖于任务函数本身:线程类对象创建出线程后,只需要在线程的执行函数中调用需要线程完成的任务函数即可3、不存在继承和纯虚函数 通过函数对象调用任务函数实现...原创 2021-05-09 02:21:36 · 153 阅读 · 0 评论