摘要: *有名管道:存在于文件系统中,可以被任意进程访问(只要有权限),关闭引用它的进程后,管道依然存在 进程 *无名管道:无名称通过文件描述符访问,仅支持亲缘关系进程(父子,兄弟),随进程的结束而销毁。 阅读全文
posted @ 2025-11-13 18:49 汉堡堡 阅读(1) 评论(0) 推荐(0)
摘要: *循环队列求有效长度 (rear-front+size)%size 阅读全文
posted @ 2025-09-29 21:33 汉堡堡 阅读(9) 评论(0) 推荐(0)
摘要: *假设执行 int a=0x1234(分配一块逻辑地址,0x56789999)32位系统 *CPU会将逻辑地址拆分为两部分 V=56789() 页内偏移=0x999 *由MMU使用0x56789变量,查进程表找到值为0xabcde *拼接物理地址:0xabcde 999 *有内存控制器访0xabcd 阅读全文
posted @ 2025-09-27 21:50 汉堡堡 阅读(10) 评论(0) 推荐(0)
摘要: (1)p操作:proberen 信号量-1 若结果>=0则进程可继续执行(获取资源) (2)v操作:verhogen 信号量+1 >0进程执行 <=0 从等待队列中唤醒一个进程,继续执行 阅读全文
posted @ 2025-09-27 21:44 汉堡堡 阅读(8) 评论(0) 推荐(0)
摘要: 用于解决进程,线程间的同步,互斥问题,主要针对多进程共享资源的竞争问题 *本质:受保护的整数变量,其值反应了共享资源的可用数量,只能通过特定的原子操作(不可中段操作)修改 *核心特性:(1)原子操作对信号量的修改(+1-1)是原子的,避免多进程并发导致数据不一致(2)阻塞机制:当信号量的值为0时,试 阅读全文
posted @ 2025-09-27 21:43 汉堡堡 阅读(8) 评论(0) 推荐(0)
摘要: 管道 信号量 共享内存 消息队列 套接字 阅读全文
posted @ 2025-09-27 21:41 汉堡堡 阅读(5) 评论(0) 推荐(0)
摘要: int arr=(int)malloc(rowsizeof(int)); for(int i=0;i<=row;i++) { arr[i]=(int)malloc(colsizeof(int)); } 阅读全文
posted @ 2025-09-02 20:13 汉堡堡 阅读(4) 评论(0) 推荐(0)
摘要: int lengthOfLongestSubstring(char* s) { int max=1,n=0,i=0,falg=0,j=0; char c[5000]={'\0'}; if(strlen(s)0)return n; while(s[i]!='\0') { if(c[0]'\0') { 阅读全文
posted @ 2025-08-25 00:51 汉堡堡 阅读(7) 评论(0) 推荐(0)
摘要: 1.采用栈 2.(不用栈也能做,思路简单,应该可以里面封装个函数)按序比对,遇到右括号就和i-1的位置比对, 若匹配将i+1往后的位置向前挪两个,长度-2 不匹配则return false bool isValid(char* s) { int n=strlen(s); int i=0; if(n1 阅读全文
posted @ 2025-08-17 16:19 汉堡堡 阅读(5) 评论(0) 推荐(0)
摘要: 1.malloc 2.static eg:力扣第67题(二进制求和) char* addBinary(char* a, char* b) { int lena=strlen(a); int lenb=strlen(b); int i=lena-1,j=lenb-1,z=0,tmp=0;//tmp为进 阅读全文
posted @ 2025-07-22 23:32 汉堡堡 阅读(7) 评论(0) 推荐(0)