- 博客(5)
- 收藏
- 关注
原创 Linux入门项目4:线程池
2.提前创造线程放到线程池。如果使用线线程从线程池里拿,不用了就返回线程池,避免创建线程与销毁线程的代价。所以带来问题,写线程时,会引起线程的挂起。线程池使用场景:对于服务器来说,客户端是多个。一个默认线程8m,1g1024m对应128个线程,16g内存对应2048。为避免多个任务同时跑到一个柜员,也避免两个柜员为一个任务服务,采用公示牌。柜员相当于执行,办业务的人相当于任务(带着任务来)。3.管理组件:避免多个执行为一个任务,采取。执行队列,多个任务任务引入任务队列。给线程池执行(任务与执行分离)
2025-11-22 10:27:55
243
原创 Linux入门项目3:并发锁方案
(等不着就睡觉,等别人解锁时再被唤醒)————引起线程切换——适用于锁里的内容多,时间可能较长(函数里有 I/O、sleep 等),普通用户线程。自旋锁spinlock: 相当于while(1),一直等待现在被锁的进程什么时候解锁,一直等到结束时,再锁(等不着就一直原地打转,直到拿到锁)————死等——适用于在锁的内容少,就几句。: 相当于while(1),一直等待现在被锁的进程什么时候解锁,一直等到结束时,再锁(等不着就一直原地打转,直到拿到锁)————死等——适用于在锁的内容少,就几句。
2025-11-21 14:28:06
376
原创 Linux入门项目2:通讯录实现
当item指向一个person,想删除该person,在这里不直接删除,而是就让他前一个person直接指向后一个person,把它跳过,那么就能实现消失。链表的操作+文件的操作(读/写)+对数据格式的解包和打包+对链表操作需要有接口层(添加、删除、查找、遍历)(后续不用链表存,比如用红黑树等等,通过接口不用修改上层)+业务逻辑(用户输入用户名和电话,再插入到链表)在链表中添加一个节点item进去,item的next指向第一个person,再指回节点,people指向item。链表的头加入一个节点进去。
2025-11-16 21:27:04
315
原创 Linux C入门项目1:文本单词统计
/FILE *fp:文件指针 FILE 是定义的结构体类型 fp是文件指针file pointer。//如果文件打开失败,返回-1。//char c:单个字符变量,存储一个字符 char *c:字符指针,指向字符串。//如果输入:./word_count test.txt → argc = 2。//argc 的值:如果输入:./word_count→argc = 1。//当argv[0]:程序名(如 "./word_count")//定义argc:参数个数 当运行程序时:./程序名 文件名。
2025-11-14 16:05:48
774
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅