![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux 系统编程
文章平均质量分 51
石马马户
这个作者很懒,什么都没留下…
展开
-
什么是读写锁
读写锁有3 种状态:读模式下的加锁状态、写模式下的加锁状态和不加锁状态,一次只有一个线程可以占有写模式的读写锁,但是可以有多个线程同时占有读模式的读写锁。因此可知,读写锁比互斥锁具有更高的并行性!原创 2023-09-22 20:43:24 · 121 阅读 · 0 评论 -
令牌桶C语言代码实现
cps 每秒钟传输字节数burst 令牌桶内最多能传输的字节数,token的最大值token 令牌的个数之前是一个令牌(token)对应一个字节,现在将一个token变为一个cps,cps是解码速率,每攒到一个令牌,就token+=cps如果需要不同的速率,使用不同的令牌桶,将令牌桶存储在一个数组中。原创 2023-08-23 20:56:02 · 283 阅读 · 0 评论 -
有限状态机--实现cp的功能
上图是我们想实现的任务,对于A机来说,从fd1读取内容写到fd2,B机要做的是从fd2读取内容写到fd1中。原创 2023-08-18 16:17:19 · 127 阅读 · 0 评论 -
fork创建多个子进程
fork1.c。原创 2023-08-12 09:05:37 · 481 阅读 · 0 评论 -
fork--创建进程
fork()函数将运行着的进程分裂出另一个子进程,它通过拷贝父进程的方式创建子进程。原创 2023-08-11 14:17:26 · 737 阅读 · 0 评论 -
使用alarm信号实现漏桶流量控制
实现流量控制,利用signal函数,模拟实现一个每隔1s打印文件10个字符内容到屏幕的功能。原创 2023-08-10 16:38:15 · 43 阅读 · 0 评论 -
使用select实现延时功能
函数结合文件描述符(File Descriptor)的特性来实现延时功能。函数实际上是用于 I/O 多路复用的功能,在此处我们仅利用其延时的特性来实现延时功能。编译并运行上述示例代码后,将会进行 2 秒的延时,然后输出延时结束的消息。函数会阻塞程序执行,直到指定的时间到达或有其他事件发生。封装为一个可以根据传入参数实现定时的函数。在 Linux 中,可以使用。在上述示例代码中,我们通过。的方式来进行延时,其中。是传入的超时时间参数。原创 2023-08-10 14:33:32 · 421 阅读 · 0 评论 -
getopt命令行解析函数
上面这个扫描选项,未找到选项b,所以getopt()返回-1,optind是argv中第一个选项参数的索引值。上述命令会把a、c设定,但b后面无内容即没有给选项b传递参数,报错,这种就不是我们想要的结果,见下图。上述命令会把b后面的内容c当做选项b的参数,这种就不是我们想要的结果,见下图。对于有要求参数的选项,参数可以紧跟着选项,也可以以空格隔开。当输入选项a却没有输入对应的参数,就会报错。当输入一个没有对应的选项b,也会报错。对于多个选项且选项无参数,对于多个选项且选项有参数,说明该选项需要参数。原创 2023-08-10 11:55:53 · 85 阅读 · 0 评论 -
atexit()钩子函数
用于注册在程序退出时自动执行的函数。被注册的函数类型为,当程序前已注册的函数,并且每个函数只会被调用一次。原创 2023-08-09 20:25:20 · 66 阅读 · 0 评论 -
hexdump命令使用
hexdump是一个常用的命令行工具,用于以十六进制和ASCII码格式显示文件的内容。原创 2023-08-01 20:27:31 · 947 阅读 · 0 评论 -
Linux中glob函数解析
函数原型:原创 2022-07-11 21:25:15 · 3046 阅读 · 0 评论 -
进程间通信-System v
Linux 进程间通信原创 2022-09-15 09:18:17 · 116 阅读 · 0 评论