1 2 3 4 5 ··· 58 下一页
摘要: 线程 1.线程概述 线程是轻量级的进程(LWP:light weight process),在Linux环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合,指令按照既定的逻辑控制计算机运行。操作系统会以进程为单位,分配系统资源,可以这样理解,进程是资源分配的最小单位,线程是操作 阅读全文
posted @ 2026-05-18 21:10 CodeMagicianT 阅读(6) 评论(0) 推荐(0)
摘要: 线程同步 1.线程同步概念 假设有4个线程A、B、C、D,当前一个线程A对内存中的共享资源进行访问的时候,其他线程B、C、D都不可以对这块内存进行操作,直到线程A对这块内存访问完毕为止,B、C、D中的一个才能访问这块内存,剩余的两个需要继续阻塞等待,以此类推,直至所有的线程都对这块内存操作完毕。 线 阅读全文
posted @ 2026-05-18 21:07 CodeMagicianT 阅读(4) 评论(0) 推荐(0)
摘要: 手写线程池 - C语言版 1.线程池原理 我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以 阅读全文
posted @ 2026-05-18 21:00 CodeMagicianT 阅读(5) 评论(0) 推荐(0)
摘要: 线程池 ThreadPool.hpp class ThreadPool { public: ThreadPool(size_t); template<class F, class... Args> auto enqueue(F&& f, Args&&... args) -> std::future< 阅读全文
posted @ 2026-05-15 23:06 CodeMagicianT 阅读(7) 评论(0) 推荐(0)
摘要: 可调用对象包装器、绑定器 1.可调用对象 在C++中存在“可调用对象”这么一个概念。准确来说,可调用对象有如下几种定义: 是一个函数指针 int print(int a, double b) { cout << a << b << endl; return 0; } // 定义函数指针 int (* 阅读全文
posted @ 2026-05-15 16:18 CodeMagicianT 阅读(8) 评论(0) 推荐(0)
摘要: 3.构造函数能否声明为虚函数或者纯虚函数,析构函数呢? 构造函数 不能声明为虚函数,也不能是纯虚函数。 原因: 虚函数依赖虚表指针(vfptr) 虚表指针是在构造函数执行期间才初始化的 构造函数本身还没执行时,对象还不存在,没有虚表 语法上直接不允许 结论: 构造函数不能是 virtual /pur 阅读全文
posted @ 2026-04-28 14:43 CodeMagicianT 阅读(9) 评论(0) 推荐(0)
摘要: dup函数和dup2函数 一、dup函数:文件描述符复制基础 1. dup 函数核心原理 1.1 函数定义与功能 函数原型:int dup(int oldfd),功能是复制文件描述符,生成一个新的文件描述符,新描述符与原描述符指向同一个文件表项(共享文件状态标志、文件偏移量、v 节点指针等核心资源) 阅读全文
posted @ 2026-04-12 14:21 CodeMagicianT 阅读(14) 评论(0) 推荐(0)
摘要: 80.Acwing基础课第894题-简单-拆分-Nim游戏 题目描述 \(给定 n 堆石子,两位玩家轮流操作,每次操作可以取走其中的一堆石子,然后放入两堆**规模更小**的石子(新堆规模可以为 0,且两个新堆的石子总数可以大于取走的那堆石子数),最后无法进行操作的人视为失败\)。 \(问如果两人都采 阅读全文
posted @ 2026-04-09 17:56 CodeMagicianT 阅读(7) 评论(0) 推荐(0)
摘要: 79.Acwing基础课第893题-简单-集合-Nim游戏 题目描述 \(给定 n 堆石子以及一个由 k 个不同正整数构成的数字集合 S\)。 \(现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合 S,最后无法进行操作的人视为失败\)。 \(问如果两人都 阅读全文
posted @ 2026-04-09 17:50 CodeMagicianT 阅读(5) 评论(0) 推荐(0)
摘要: 78.Acwing基础课第892题-简单-台阶-Nim游戏 题目描述 \(现在,有一个 n 级台阶的楼梯,每级台阶上都有若干个石子,其中第 i 级台阶上有 a_i 个石子(i≥1)\)。 \(两位玩家轮流操作,每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中(不能不拿)\)。 \(已经拿到地 阅读全文
posted @ 2026-04-09 17:46 CodeMagicianT 阅读(10) 评论(0) 推荐(0)
1 2 3 4 5 ··· 58 下一页