常用代码工具
文章平均质量分 60
书写&青春
这个作者很懒,什么都没留下…
展开
-
内核链表的用法
一、内核链表的基本思想linux内核链表是使用C语言实现的通用链表,为双向循环链表,可以方便的移植使用。它的基本思想是将数据域和指针域分开,内核链表实现的一系列增、删、改、查操作就是针对指针域的,而数据域则由内核链表的使用者根据实际需求自行完成。这样一来,内核链表便可以实现通用,而应用程序则可以不用关心链表底层操作的实现,感觉上有点类似C++继承机制。二、内核链表源码可从linux内核源码中提取,只需要拷贝list.h一个文件即可,网上也有不少版本,不过整体的思想是一致的。三、部分关键源码1、指针原创 2021-02-16 22:50:27 · 777 阅读 · 0 评论 -
Linux下时间相关接口封装
一、相关系统调用1、time函数函数原型:time_t time(time_t *time)头文件:#include <time.h>功能:获得系统当前时间返回值(长整型):成功返回从公元1970-1-1,00:00:00到当前的秒数,失败返回-1参数(传出参数):同返回值2、gmtime函数函数原型:struct tm *gmtime(const time_t *time)头文件:#include <time.h>功能:将从公元1970-1-1,00:00:00原创 2020-09-29 22:04:32 · 221 阅读 · 0 评论 -
线程池原理及C语言实现
一、简介1、线程池的概念线程池本质就是线程的集合。 进程在启动时便创建一定数量的线程,在没有任务时,这些线程处于空闲状态。程序在运行时可将任务通过任务队列传递给线程池,这是池中的线程便会启动一个来执行该任务,任务执行完后,启动的线程不会被销毁,而是重新返回空闲状态,等待下一个任务的执行。2、线程池的优势在多线程运行的程序中,如果不断地创建和销毁线程,会过度消耗系统资源,内核开销较大。并且过度切换线程会带来一定的危险,从而增加系统崩溃的可能性。线程池会维护相对稳定的线程数,减少了频繁创建、销毁线程带原创 2020-09-13 17:15:13 · 633 阅读 · 0 评论