Linux应用编程
文章平均质量分 90
Linux应用编程
程序员小小聪
这个作者很懒,什么都没留下…
展开
-
并发——线程
3. 唤醒等待条件变量的线程 pthread_cond_signal。2)获取调用者自己的线程ID:pthread_self。二. linux下面线程(thread)函数的API。3)进程与线程的区别。原创 2024-09-24 17:22:09 · 800 阅读 · 0 评论 -
进程间通信——信号量
该操作是在访问完共享资源(执行完临界区代码)后要做的一个操作,就是将该信号量的值+1。3. POSIX 无名信号量 -----> 内核中。2. POSIX 无名信号量 ----> 内存中。1. POSIX 有名信号量。原创 2024-09-24 17:05:06 · 625 阅读 · 0 评论 -
进程间通信——共享内存(shm)
两个进程,p1,p2同时访问共享内存区域(语法是没有问题的),按道理说,p1和p2执行完毕后,*p应该为200000。(4) p2进程发送一个信号给p1进程,从而达到两个进程同时++ps -ef 查看进程号。(3) 有名管道:两。原创 2024-09-24 14:49:32 · 849 阅读 · 0 评论 -
进程间通信——信号
不同的信号值(整数),代表不同的含义(OS设定好的),当然用户可以自定义信号,自定义信号的含义和值由程序员来决定和解释。信号是进程间通信的一种方式,这种方式没有传输用户数据,只是在内核中传一个信号(整数),(3)捕捉信号:改变信号的处理方式 signal。3. linux下信号相关的 API 函数。信号的本质是一个整数值。原创 2024-09-23 23:11:26 · 310 阅读 · 0 评论 -
进程间通信——管道
它在文件系统中是没有名字(没有inode......)的,它的内容在内核中(而不是存在于硬盘),访问pipe的方式是通过文件系统的 API(read / write)pipe在创建的时候,在内核中开辟一块缓冲区,作为pipe文件的内容的存储空间,同时返回两个文件描述符(一个用来读,一个用来写)fifo 是在 pipe 的基础上,给fifo在文件系统中创建一个 inode(它在文件系统中就会有一个文件名),但是文件的内容却在内核中!半双工:通信双方,同一时刻,只能有一方进行发送,另一方接收,比如:对讲机。原创 2024-09-23 21:11:00 · 677 阅读 · 0 评论 -
并发——进程✔
fork之后,操作系统会copy出一个与父进程完全相同的子进程(申请一个进程控制块用于描述子进程),这两个进程共享代码段的空间(指令),但是数据段是相互独立的,子进程的数据是从父进程地址空间中copy过来的,指令指针(PC)也完全相同(copy后,父进程运行到哪里,子进程也会运行到哪里)前台:shell终端就是前台,在shell终端上运行的进程(会影响终端),可以称之为前台进程/交互进程。数据结构:用来表示人们思维对象的抽象概念的物理表现叫做数据(对问题中抽象出来的实体)在linux中是如何描述进程的—原创 2024-09-23 20:30:14 · 627 阅读 · 0 评论 -
系统 IO
✔3. 读写文件 (read / write),这两个步骤是作为一个整体来执行的,不会被中断。是一个好习惯,特别是当你不再需要它时。,但在很多情况下,复制完成后关闭。的返回值,并在失败时适当处理错误。(1) 打开文件 (open)文件本身的内容(用户数据)的两个文件描述符必须是有效的。是一个原子操作,即它先关闭。1. 文件IO是什么?如果已打开),然后将。原创 2024-09-13 17:59:45 · 1326 阅读 · 0 评论