上一页 1 2 3 4 5 6 ··· 29 下一页
摘要: 信号量(Semaphore)是一个非常重要的同步机制,用于控制多个线程或进程对共享资源的访问。其基本思想是使用一个整数变量来表示可用资源的数量,通过对这个整数的操作来控制资源的分配,从而实现对竞态条件的管理。信号量的操作是原子的,即在一个操作进行的过程中,不会被其他进程或线程中断 。 信号量主要有两 阅读全文
posted @ 2026-06-09 23:20 [BORUTO] 阅读(10) 评论(0) 推荐(0)
摘要: 1、匿名管道 匿名管道是一个没有命名的单向管道,本质上就是一个共享的内存,抽象成是管道。 通常用来在父进程和子进程之间通信。只能实现本地两个进程之间的通信。不能实现网络通信。 匿名管道(Anonymous Pipe):匿名管道是一种无名称的管道,仅限于在父子进程或者兄弟进程之间进行通信。匿名管道只能 阅读全文
posted @ 2026-06-09 22:40 [BORUTO] 阅读(13) 评论(0) 推荐(0)
摘要: 。。。 阅读全文
posted @ 2026-05-30 23:59 [BORUTO] 阅读(11) 评论(0) 推荐(0)
摘要: 1. 引言:为什么界面会“卡死”? 在使用 Qt 开发时,新手常遇到一个问题:点击按钮后,程序开始执行一个耗时操作(如读写大文件、发送网络请求),窗口变得无法拖动、按钮无法点击,甚至标题栏都变灰,直到操作完成才恢复。这种现象被称为“界面卡死”或“无响应”。 罪魁祸首:主线程的事件循环被阻塞。 2. 阅读全文
posted @ 2026-05-24 17:31 [BORUTO] 阅读(44) 评论(0) 推荐(0)
摘要: 下面是一个关于位运算的教程示例,以 A = 60(二进制 0011 1100)和 B = 13(二进制 0000 1101)为例,详细说明按位与(&)、按位或(|)、异或(^)以及取反(~)的运算规则。 1. 按位与(A & B) 规则:对应位都是1时,结果位为1;否则为0。 A: 0 0 1 1 阅读全文
posted @ 2026-05-04 15:15 [BORUTO] 阅读(20) 评论(0) 推荐(0)
摘要: 下面是一个简化但功能完整的 std::list 实现。代码采用带哨兵节点的双向循环链表结构,使边界处理更简洁,并提供了基本的迭代器和常用操作。 #include <iostream> #include <cstddef> // for std::size_t /** * 简化版 std::list( 阅读全文
posted @ 2026-02-25 19:33 [BORUTO] 阅读(11) 评论(0) 推荐(0)
摘要: std::vector 是 C++ 标准模板库(STL)中的一个非常常用的容器类,用于存储元素并能够动态地增长和缩小。std::vector 提供了一个类似于数组的接口,但它在背后使用动态内存分配来管理数据。下面是一些关于 std::vector 实现原理的详细解释: 假设已分配了一块能容纳 10 阅读全文
posted @ 2026-02-25 19:33 [BORUTO] 阅读(18) 评论(0) 推荐(0)
摘要: 方法一:使用样式表(QSS) - 推荐 1. 基本圆角窗口 cpp 复制 下载 // 在构造函数中设置 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { // 设置窗口无边框 setWindowFlags(windowFl 阅读全文
posted @ 2026-01-19 18:20 [BORUTO] 阅读(48) 评论(0) 推荐(0)
摘要: 效果: 自定义主题颜色: 文件夹位置:Qt5.12.12\Tools\QtCreator\share\qtcreator\themes 在文件夹下添加 xxx.creatortheme 文件,添加自定义配置 应用配置方式: OneDark.creatortheme 查看代码 [General] Th 阅读全文
posted @ 2026-01-19 15:44 [BORUTO] 阅读(87) 评论(0) 推荐(0)
摘要: QSplitter 是 Qt 中的一个布局管理组件,主要用于创建可拖动的分隔条,让用户能够动态调整子控件的大小。 在 Qt Designer(UI 设计界面)中,QSplitter 确实不会像按钮、标签那样直接出现在左侧的组件列表中。这是因为 QSplitter 的使用方式比较特殊。 在 Qt De 阅读全文
posted @ 2026-01-06 14:46 [BORUTO] 阅读(289) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 29 下一页