LINUX:懒汉单例模式线程池

目录

1.什么是线程池,线程池的优势

2.懒汉和饿汉模式

3.单例模式

4.日志系统

5.线程池


1.什么是线程池,线程池的优势

创建一个线程,就是要这个线程去完成某种任务的。

池化技术就是,提前创建一批线程,有任务这一批线程就会执行。而不是有任务的时候在去创建线程。

池化技术有着更高的效率,因为线程都是提前创建好的,直接执行任务。

2.懒汉和饿汉模式

懒汉和饿汉模式是一种设计模式

懒汉模式:

例:进程需要一块内存资源,什么时候真正用到了这块内存时,我在去创建而不是提前创建。

这种模式的优点就是,启动的更快,程序启动时,数据要加载到内存,懒汉就是延时加载,用的时候在加载。

3.单例模式

就是某一些类,就应该只有一个对象,不应该有多个。

线程池就是这样的,创建两个线程池也没有意义,可以多创建几个线程。

实现方法

将类的构造函数进行私有,这样就无法在创建对象了。

在类中提供一个共有的静态方法,这个方法可以初始化和获取线程池。

4.日志系统

这个没什么难度,就是字符串的拼接,可能需要注意的就是可变参数的使用。

log.hpp


#ifndef __LOG_HPP__
#define __LOG_HPP__
#include <iostream>
#include <string>
#include <time.h>
#include <pthread.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdarg.h>
#include <fstream>
// 日志等级
 enum loglevel
    {
        Debug = 0,
        Info,
        Warning,
        Error,
        FATAL,
    };
namespace lg
{
    bool isSave = false; //是否保存到文件
   
    std::string savefile = "log.txt";//保存的文件名
   
    
    std::string LeveltoString(int level) //将日志等级转化为字符串
    {
        switch (level)
        {
        case Debug:
            return "Debug";
        case Info:
            return "Info";
        case Warning:
            return "Warning";
        case Error:
            return "Error";
        case FATAL:
            return "FATAL";
        default:
            return "Unknown";
        }
    }

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值