- 博客(6)
- 收藏
- 关注
原创 常见的线程同步
条件变量通常与互斥锁一起使用,条件变量允许线程等待某个条件的发生,一旦条件满足,它们可以被唤醒以执行相应的操作。(当某个共享数据达到某个值时,唤醒等待这个共享数据的线程)当进入关键代码段,获得互斥锁将其加锁,其它线程在尝试获得锁时或被阻塞;离开关键代码段时,唤醒那些等待该互斥锁的线程(也就是释放锁)。信号量是一个计数器,用于限制同时访问共享资源的线程数量,是一个特殊的变量。V:如果有其它因X为0而挂起的线程,则唤醒;若没有,则将X值加一。:多个线程在并发执行过程中可能会导致不确定的、意外的结果的情况。
2023-10-11 16:23:27
73
原创 从头开始理解TinyWebServer
首先,函数的参数 'argc' 表示命令行参数的数量,'argv'是指向字符数组的指针数组,也就是命令行参数。利用switch对当前解析的选项执行相应的操作,其中,atoi()函数(该函数是标准C库自带的)是将参数值转换为相应的整数,然后赋值给相应的变量(这里的变量也就是config.h中的那些变量)。创建一个线程池对象,参数m_actormodel是命令行解析后得到的参数,m_connPool是上一行创建的数据库连接池对象,m_thread_num是命令行解析后得到的参数。parse_arg()函数。
2023-10-06 10:52:22
183
1
原创 如何使用Git回退到之前的版本?
值得注意的是,在Git中,用HEAD表示当前版本,也就是上图中的第一行。上一个版本HEAD^,上上一个版本是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写HEAD~100。补充:当回退到以前的版本后,又想重回当前的版本,但此时输入git log 却找不到当前版本的commit id,怎么解决呢?可以看到,我所查询的文件已经有4个版本。其中每一行前面的字符串(黄色)代表的是 commit id(版本号)使用如下代码查询命令记录,找到版本id。首先,我们需要知道文件有哪些版本。
2023-07-05 16:42:26
962
原创 Git创建版本库添加文件
值得注意的是,commit 一次可以提交多个文件,所以可以将多个文件添加到仓库,再使用commit命令一次性提交。至此,Git仓库便创建好了,可以检查创建的目录下(git-repository)是否。注意:此文件一定要放在先前创建的目录下(git-repository)。(若没有,先考虑是否是目录被隐藏了,再重复上述操作。表示修改的文件尚未添加到仓库。告诉Git,把文件提交到仓库。-m 后面输入的相当于一个。告诉Git,把文件添加到仓库。二、将文件添加到版本库。此时再查看Git的状态。
2023-07-05 14:25:17
388
原创 VsCode上连接虚拟机(Ubuntu)
在“远程资源管理器”----SSH----设置----红框第一栏----按要求填写----配置成功。只要最后段一致,虚拟机便可使用ssh服务,可跳至"Vscode 安装 Remote-ssh"。进入虚拟机,在终端输入ifconfig,即可查看虚拟机IP地址。2.1首先在扩展商店里搜索Remote-ssh,安装插件。输入ssh localhost 查看ssh服务是否可用。三、Vscode 连接 虚拟机。1.2查看虚拟机是否可用ssh。1.1在虚拟机上安装ssh。二、配置Vscode。一、虚拟机配置ssh。
2023-06-22 18:52:34
3517
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人