自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Linux Timer定时器

timerfd为Linux为用户程序提供的定时器接口,该接口基于文件描述符,通过文件描述符的可读事件进行超时通知,且能够被用于epoll/select。主要有三个函数。头文件: include <sys/timerfd.h>int timerfd_create(int clockid, int flags)功能: 生成定时器,返回文件描述符。clockid: CLOCK_MONOTONIC或CLOCK_REALTIME,其中CLOCK_MONOTONIC表示获取的时间为系统重启到现

2021-10-31 16:56:00 828

原创 Boost智能指针——scoped_ptr

boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用:#include <string>#include <iostream>#include <boost/scoped_ptr.hpp>class implementation{public: ~implementation() { std::cout <<"destroy

2021-10-31 12:08:36 214

原创 gcc __thread关键字

1. 概述1.1 __thread是GCC内置的线程局部存储设施。_thread变量每一个线程有一份独立实体,各个线程的值互不干扰。可以用来修饰那些带有全局性且值可能变,但是又不值得用全局变量保护的变量。1.2 举例说明__thread int count = 0;int main(){ //创建线程A //创建线程B //此时A和B线程都有一个实体 count,二者并不相同}2. 使用举例#include <iostream>#inc

2021-10-30 18:56:22 179

原创 C语言setbuffer()函数:设置文件流的缓冲区

头文件:#include <stdio.h>定义函数:void setbuffer(FILE * stream, char * buf, size_t size);函数说明:在打开文件流后, 读取内容之前, 调用setbuffer()可用来设置文件流的缓冲区. 参数stream 为指定的文件流, 参数buf 指向自定的缓冲区起始地址, 参数size 为缓冲区大小....

2021-10-28 11:22:18 806

原创 C++11 thread_local 用法

​​​​thread_local 是 C++11 为线程安全引进的变量声明符。thread_local 简介thread_local 是一个存储器指定符。所谓存储器指定符,其作用类似命名空间,指定了变量名的存储期以及链接方式。同类型的关键字还有:auto:自动存储期; register:自动存储期,提示编译器将此变量置于寄存器中; static:静态或线程存储期,同时提示是内部链接; extern:静态或线程存储期,同时提示是外部链接; thread_local:线程存..

2021-10-26 15:55:40 275 1

原创 FD_CLOEXEC用法及原因_转

我们经常使用fork()函数来创建子进程,而子进程也会exec其他的应用程序,在linux系统下,子进程以写时复制(Copy On Write)获得父进程的数据空间,栈和栈副本,其中就包括父进程所使用的文件描述符,刚fork()成功的时候,父进程与子进程相同的文件描述符指向系统文件表中的同一项(他们共享同一文件偏移量)。子进程接下来会exec另一个程序,此时全新的程序会替换子进程的正文、数据、堆和栈等,此时保存的文件描述符自然不存在了,我们也不能关闭无用的文件描述符,所以我们通常在fork()子进程后关

2021-10-25 10:16:44 1353

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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