XMuli
|
6fc60c0f4d
|
docs: README
|
2025-12-31 17:57:02 +08:00 |
|
XMuli
|
01dc99b439
|
docs: LICENSE
|
2025-12-31 17:49:06 +08:00 |
|
XMuli
|
ed98b7d669
|
feat: EfficiencyMode Enable
|
2025-12-31 17:06:24 +08:00 |
|
XMuli
|
50d44a4998
|
feat: Get User Default LCID / LocaleName
|
2025-07-21 09:59:25 +08:00 |
|
XMuli
|
f46bbef6ac
|
docs: README
|
2025-07-14 18:34:51 +08:00 |
|
XMuli
|
6a3d14c2e5
|
docs: README
|
2025-07-10 18:22:48 +08:00 |
|
XMuli
|
53f92edec2
|
feat: Get GPU / Driver Version
|
2025-07-10 18:17:02 +08:00 |
|
XMuli
|
7dbdc5fb96
|
feat: EfficiencyMode Enable
|
2025-07-10 18:12:40 +08:00 |
|
XMuli
|
738319084c
|
Update README.md
|
2025-06-22 18:23:58 +08:00 |
|
XMuli
|
34f571cb65
|
Update LICENSE
|
2025-06-17 22:39:55 +08:00 |
|
XMuli
|
8ff8f0b1a0
|
docs: Update README
|
2025-06-17 22:39:21 +08:00 |
|
XMuli
|
81442f4b60
|
feat: update README
|
2025-05-03 22:25:13 +08:00 |
|
XMuli
|
5854e7b6b2
|
chore: update README
|
2025-06-17 15:46:23 +08:00 |
|
XMuli
|
b8bfc27198
|
feat: 添加 Linux 高清图谱
|
2025-05-01 21:33:23 +08:00 |
|
XMuli
|
b33f685983
|
feat: 信号量( 信号灯) sem_init()
|
2025-05-01 21:30:21 +08:00 |
|
XMuli
|
ce21262a10
|
feat: 条件变量pthread_cond_wait() / pthread_cond_signal()
pthread_cond_t g_cond; //条件变量--阻塞线程,等待条件满足
pthread_cond_wait() //阻塞线程,且该函数会对互斥锁解锁;且接解除阻塞之后,对互斥锁进行加锁操作
pthread_cond_signal() //通知阻塞的消费者线程,解除阻塞
|
2025-04-30 00:29:27 +08:00 |
|
XMuli
|
51fa7480a0
|
feat: pthread_rwlock_rdlock() / pthread_rwlock_wrlock()
使用读写锁的一个标准大概流程(所有线程都要加锁):
- pthread_rwlock_init()
- pthread_rwlock_rdlock() / pthread_rwlock_tryrdlock() / pthread_rwlock_wrlock() / pthread_rwlock_trywrlock()
- 、、、代码 片
- pthread_rwlock_unlock()
- pthread_rwlock_destroy()
|
2025-04-30 00:28:54 +08:00 |
|
XMuli
|
1c5b5c2cae
|
feat: 多线程使用互斥量(锁) Mutex
|
2025-04-30 00:28:18 +08:00 |
|
XMuli
|
e755892e1b
|
feat: 多线程 pthread_create()、pthread_exit()、pthread_join()
|
2025-04-30 00:27:51 +08:00 |
|
XMuli
|
71e89099a6
|
feat: 守护进程 setsid()
|
2025-04-29 23:42:06 +08:00 |
|
XMuli
|
af8f6765d5
|
feat: 系统未决信号集、系统阻塞信号集、自定义信号集,以及信号捕捉处理
- 自定义信号集:
- sigaddset() //将指定信号置为 1,添加到自定义集中
- sigdelset() //将指定信号置为 0,添加到自定义集中
- sigemptyset() //将所有信号置为 0,清空
- sigfillset() //将所有信号置为 1,填充
- sigismember() //判断指定信号是否存在,是否为 1
- 系统信号集:
- sigprocmask() //将自定义信号集设置给阻塞信号集。
- sigprocmask() //读取当前信号的未决信号集。参数为输出参数,内核将未决信号集写入 set
- 信号捕捉:
- signal() //实现信号捕捉的功能;最简单使用一个函数。
- sigaction() //同上,多一个额外功能,运行期间能够**临时** 屏蔽指定信号
|
2025-04-29 23:41:36 +08:00 |
|
XMuli
|
8e2b18e3d5
|
feat: 系统信号 signal 和相关函数 kill、raise、abort、alarm、setitimer
函数:
//发射信号给指定进程、或者同组的信号。
- int kill(pid_t pid, int sig);
//自己给自己发射信号。在单线程程序中,它相当于 kill(getpid(), sig);
//在一个多线程程序中,它等同于 pthread_kill(pthread_self(), sig)。
- int raise(int sig);
//给自己发送异常终止的信号。该函数没有参数和返回值,也永远不会调用失败。
- void abort(void);
//设置定时器(每一个进程只有一个定时器)
- unsigned int alarm(unsigned int seconds);
//定时器,并且实现 周期性 定时。
- int setitimer(int which, const struct itimerval *new_value, struct itimerval *old_value);
|
2025-04-29 23:40:03 +08:00 |
|
XMuli
|
8127184c51
|
feat: 内存映射区mmap()
|
2025-04-29 23:31:09 +08:00 |
|
XMuli
|
7f758cbf6c
|
feat: 无血缘关系的进程间通信,使用有名管道fifo
|
2025-04-28 22:49:37 +08:00 |
|
XMuli
|
973311602a
|
feat: 父子进程间,兄弟子进程间,使用管道 pipe 通信
|
2025-04-28 22:49:13 +08:00 |
|
XMuli
|
44ccfcf029
|
feat: 孤儿进程,僵尸进程,进程回收
|
2025-04-28 22:48:49 +08:00 |
|
XMuli
|
f3cb16fa7e
|
feat: exec() 函数族:execl() / execlp()
|
2025-04-28 22:48:23 +08:00 |
|
XMuli
|
008b992ce1
|
feat: 创建子进程,兄弟子进程,进程的全局变量不共享
|
2025-04-27 21:29:39 +08:00 |
|
XMuli
|
113f923414
|
feat: 调用系统库函数读写文件,打印文件描述符
|
2025-04-27 21:29:15 +08:00 |
|
XMuli
|
cc60b2eb43
|
feat: 用 gdb 进行调试
|
2025-04-27 21:28:50 +08:00 |
|
XMuli
|
12b27490c4
|
feat: 编写 makefile 文件
|
2025-04-27 21:28:27 +08:00 |
|
XMuli
|
e3741a8404
|
feat: Uinx/Linux 下使用gcc/g++ 制作.so和.a调用
|
2025-04-26 20:23:42 +08:00 |
|
XMuli
|
12047a9e5a
|
feat: gcc工作流程:预处理,编译,汇编,链接
|
2025-04-26 20:23:17 +08:00 |
|
XMuli
|
0f9a34a504
|
feat: gcc 和 g++的区别
|
2025-04-26 20:22:07 +08:00 |
|
XMuli
|
aaa8240b09
|
feat: 测试 GCC 是否安装成功
|
2025-04-26 20:21:02 +08:00 |
|
XMuli
|
927cae6336
|
docs: update
|
2025-01-01 12:16:42 +08:00 |
|
lcjh
|
81740edaa1
|
fix some typo (#13)
|
2024-12-25 22:11:52 +08:00 |
|
XMuli
|
30a7f7191f
|
docs: 更新文章
|
2024-03-28 10:07:41 +08:00 |
|
XMuli
|
788b126da0
|
docs: License
|
2024-01-25 02:22:34 +08:00 |
|
XMuli
|
f490bd335a
|
docs: archived screenshot
about site: http://www.regexlab.com/zh/encoding.htm
|
2023-11-17 10:25:45 +08:00 |
|
XMuli
|
78fd605a46
|
docs: 更新文章
|
2023-10-18 18:37:20 +08:00 |
|
XMuli
|
2847223517
|
docs: README.md
|
2023-07-03 10:46:08 +08:00 |
|
XMuli
|
4d501e3361
|
feat: update
|
2023-07-01 16:18:53 +08:00 |
|
XMuli
|
dc9f546217
|
docs: update
|
2023-06-30 23:23:45 +08:00 |
|
XMuli
|
8c19aa48e2
|
docs: update
|
2023-06-29 17:07:19 +08:00 |
|
XMuli
|
9c373b8099
|
docs: update MacOS & Clang_64
|
2023-06-28 08:51:55 +08:00 |
|
XMuli
|
9160ba7994
|
docs: Qt Creator can't find the header file of a custom control when raising it
|
2023-06-19 01:13:57 +08:00 |
|
XMuli
|
c09eb06d81
|
docs: update README
|
2023-06-18 19:54:20 +08:00 |
|
XMuli
|
3e75abc182
|
docs: 更新文章
|
2023-06-01 15:35:52 +08:00 |
|
XMuli
|
83436717f0
|
docs: update README
|
2023-05-31 18:08:28 +08:00 |
|