会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
明明1109
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
12
13
14
15
16
17
18
19
20
···
25
下一页
2021年9月18日
libevent学习笔记之搭建Win10开发环境
摘要: 一、环境准备 环境/软件名 版本 描述 操作系统 Win10x64 编译工具 VS2017 Community 提供交叉编译环境 https://visualstudio.microsoft.com/zh-hans/vs/community/ perl脚本解释器 ActivePerl-5.24.3.
阅读全文
posted @ 2021-09-18 14:40 明明1109
阅读(1085)
评论(0)
推荐(0)
2021年9月4日
Linux Posix信号量、System V信号量,生产者与消费者问题应用
摘要: 基本概念 信号量是什么? 信号量(semaphore)是一种用于不同进程间或一个给定进程的不同线程间同步手段的原语。 也就是说,信号量用于进程间,或者线程间同步的。 三种类型信号量 信号量主要有三种类型,都可以用于进程或线程间同步: Posix有名(named)信号量:使用Posix IPC名字标识
阅读全文
posted @ 2021-09-04 16:48 明明1109
阅读(998)
评论(0)
推荐(0)
2021年9月2日
Linux 文件锁与记录锁
摘要: 基本概念 记录锁 记录上锁(record locking)是读写锁(readers-writer lock,简称rw lock)的一种扩展类型,可用于亲缘进程或无亲缘进程之间共享某个文件的读和写,常简称为记录锁。读写锁可参见这篇文章:Linux 自旋锁,互斥量(互斥锁),读写锁。 记录锁锁定的文件通
阅读全文
posted @ 2021-09-02 18:57 明明1109
阅读(1981)
评论(2)
推荐(2)
2021年8月31日
Linux 自旋锁,互斥量(互斥锁),读写锁
摘要: 自旋锁(Spin Lock) 自旋锁类似于互斥量,不过自旋锁不是通过休眠阻塞进程,而是在取得锁之前一直处于忙等待的阻塞状态。这个忙等的阻塞状态,也叫做自旋。 自旋锁通常作为底层原语实现其他类型的锁。 适用场景: 1)锁被持有的时间短,而且线程不希望在重新调度上花费太多的成本; 2)在非抢占式内核中,
阅读全文
posted @ 2021-08-31 18:55 明明1109
阅读(2164)
评论(0)
推荐(1)
2021年8月24日
Linux C 获取系统限制
摘要: 问题引入 POSIX限制和XSI限制,规定了一些系统实现必须支持的最小值,比如<limits.h>中的POSXI.1规定_POSIX_OPEN_MAX(每个进程打开文件数)最小值为20,_POSIX_PATH_MAX(路径名中的字节数,包括null 终结符)最小为256,而XSI规定_XOPEN_P
阅读全文
posted @ 2021-08-24 12:26 明明1109
阅读(373)
评论(0)
推荐(0)
2021年8月23日
Linux C 讲解系统调用readdir, readdir_r 以及如何遍历目录下的所有文件
摘要: readdir与readdir_r简要说明 readdir可以用来遍历指定目录路径下的所有文件。不过,不包含子目录的子文件,如果要递归遍历,可以使用深度遍历,或者广度遍历算法。 readdir_r 是readdir的可重入版本,线程安全。readdir因为直接返回了一个static的struct d
阅读全文
posted @ 2021-08-23 23:36 明明1109
阅读(13102)
评论(0)
推荐(3)
2021年8月6日
Linux C gethostname, gethostbyname有什么区别?
摘要: 问题:gethostname, gethostbyname 这2个名字相似的网络编程API,有何联系与区别? gethostname 获取主机名称(非登录用户名),其参数用于存储查询结果。gethostname 查找的是/etc/hostname文件,得到本主机名。其获得的主机名,可用于getadd
阅读全文
posted @ 2021-08-06 12:00 明明1109
阅读(1990)
评论(0)
推荐(0)
2021年7月26日
Linux C 字符串查找相关操作 strchr, strstr, strtok
摘要: strchr,strrchr, strchrnul 定位一个字符 strchr系列函数介绍 strchr 定位一个字符在字符串中的位置。 同系列函数有,strrchr,strchrnul。 区别在于: strchr 从左向右找,第一个出现字符c的位置即为所求; strrchr 从右向左找,第一个出现
阅读全文
posted @ 2021-07-26 19:45 明明1109
阅读(3727)
评论(0)
推荐(0)
2021年7月24日
Linux C套接字选项SO_RCVTIMEO, SO_SNDTIMEO
摘要: SO_RCVTIMEO, SO_SNDTIMEO介绍 套接字选项: SO_RCVTIMEO:用来设置socket接收数据的超时时间; SO_SNDTIMEO: 用来设置socket发送数据的超时时间; 一般地,调用accept/connect/send/recv, 进程会阻塞,但是如果对端异常,进行
阅读全文
posted @ 2021-07-24 16:56 明明1109
阅读(14367)
评论(0)
推荐(1)
2021年7月22日
线程与进程, 线程与信号
摘要: 线程与进程 fork子进程如何复制多线程的父进程? 考虑一个问题:父进程在fork之前,已经创建了多个线程,那么再调用fork,新建子进程具有和父进程同样数量的线程吗?是否会复制父进程的所有线程? 答案是否定的。 fork子进程只会复制调用fork的线程,不会复制父进程的其他线程。既然是复制,因而子
阅读全文
posted @ 2021-07-22 16:35 明明1109
阅读(472)
评论(0)
推荐(0)
TCP/IP学习笔记:TCP拥塞控制
摘要: 简介 拥塞指的是 在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏。这种情况就叫拥塞(congestion)。 TCP模块任务:提供网络利用率,降低丢包率,保证网络资源对每条数据的公平性。 拥塞控制 标准文档:RFC 5681,介绍了拥塞控制4个部分:慢启动(sl
阅读全文
posted @ 2021-07-22 00:17 明明1109
阅读(1336)
评论(0)
推荐(1)
2021年7月21日
Linux fork和vfork
摘要: fork 系统调用 可以通过fork系统调用创建新的进程。调用进程称为父进程,被创建的进程称为子进程。 fork函数复制当前进程,会在内核进程表中创建一个新的进程表项。新的进程表项有很多属性和原进程相同,如堆指针、栈指针、标志寄存器的值。也有许多属性被赋予新的值,如子进程PPID为原来进程PID。
阅读全文
posted @ 2021-07-21 23:40 明明1109
阅读(260)
评论(0)
推荐(0)
2021年7月14日
Linux C创建临时文件mktemp, mkstemp
摘要: mktemp 创建临时文件名 创建一个独特的文件名,每次调用得到的文件名都不一样。 注意:该函数只产生文件名,并不创建文件。 #include <stdlib.h> char *mktemp(char *template); 参数 template 必须是一个字符数组,末尾6个字符必须是"XXXXX
阅读全文
posted @ 2021-07-14 11:13 明明1109
阅读(2766)
评论(0)
推荐(0)
2021年7月8日
Linux C strtok实现自定义字符串切分函数split
摘要: 1. 问题:Linux C如何切分字符串? java的String类有split方法,可以将字符串对象按指定字符串进行切分,返回一个数组String[],包含切分后的所有字符串。 Linux C如何对字符串进行切分呢?有没有类似函数/系统调用? 答:Linux C没有字符串类,也没有split函数,
阅读全文
posted @ 2021-07-08 14:53 明明1109
阅读(2036)
评论(0)
推荐(0)
2021年6月26日
Linux C获取当前工作目录的几种方法
摘要: 获取当前工作目录有多种方式。 1. getcwd 获取工作目录(启动程序的目录) getcwd 可以获取当前工作目录,但不是目标程序所在目录,而是启动程序时所在的工作目录。 比如,如果shell 从工作目录/home/user启动目标程序(位于/home/user/workspace/testpro
阅读全文
posted @ 2021-06-26 20:05 明明1109
阅读(6483)
评论(0)
推荐(0)
2021年6月25日
路由器无线桥接,台式机如何有线连接上网?
摘要: 0. 问题背景 台式机距离路由器比较远,无法只连网线到路由器上网。现在有2个路由器,能否用另外一个路由器连接主路由器上网? 可以用路由器的桥接功能,让副路由器桥接主路由器,然后PC通过网线连接副路由器进行上网。 由于有线桥接较为简单,这里只讲无线桥接。 我配置的桥接拓扑示意图,如下 1. 确定路由器
阅读全文
posted @ 2021-06-25 15:15 明明1109
阅读(12312)
评论(0)
推荐(1)
2021年6月23日
Linux 多进程锁的几种实现方案
摘要: 我们知道,多线程可以用多线程互斥量pthread_mutex_t实现线程之间上锁,那么多进程之间如何共享锁呢? 1. 文件锁实现多进程锁 由于文件锁是存放到位于内存的系统文件表中, 所有进程/线程可通过系统访问。如果不同进程使用同一文件锁(写锁/排他锁),当取得文件锁时,进程可继续执行;如果没有取得
阅读全文
posted @ 2021-06-23 18:03 明明1109
阅读(9632)
评论(0)
推荐(0)
Linux man手册没有pthread_mutex_init的解决办法
摘要: 今天用man命令查看pthread_mutex_init文档,发现没有该条目,而pthread_create却有。 我用的系统是ubuntu14x64,内核是4.2.0-27-generic版本 $ uname -a Linux ubuntu 4.2.0-27-generic #32~14.04.1
阅读全文
posted @ 2021-06-23 16:03 明明1109
阅读(2011)
评论(0)
推荐(1)
2021年6月22日
IP地址结构信息与字符串相互转化:inet_pton和inet_ntop, etc.
摘要: 1. 问题描述 1)假如有一个IPv4地址字符串(点分十进制),如何转化为socket编程所需的sockaddr地址结构信息? 2)假如通过getaddrinfo等方式,已经取得了sockaddr地址结构信息,如何转化为字符串形式?(点分十进制 for IPv4, 冒号十六进制 for IPv6)
阅读全文
posted @ 2021-06-22 10:22 明明1109
阅读(9157)
评论(0)
推荐(0)
2021年6月16日
Linux 将计算md5值功能做成md5命令
摘要: 参考: linux MD5 Linux 自带md5sum命令, 可用于计算和检查md5 1. 利用md5sum生成md5值 $ echo -n '123456' | md5sum # -n 命令阻止自动换行 2. 制作成脚本 文件md5 #!/bin/bash echo -n $1 | md5sum
阅读全文
posted @ 2021-06-16 22:08 明明1109
阅读(637)
评论(0)
推荐(0)
上一页
1
···
12
13
14
15
16
17
18
19
20
···
25
下一页
公告