03 2023 档案

摘要:函数不可重入:函数运行被打断以后,不能恢复运行或运行结果不符合预期。 Linux下的pthread_mutex_t控制的代码区域默认是不可重入的。下面是一个使用C++代码演示pthread_mutex_t不可重入的例子: #include <iostream> #include <pthread.h 阅读全文
posted @ 2023-03-30 21:46 好人~ 阅读(323) 评论(0) 推荐(0)
摘要:C++11提供了命名空间this_thread来表示当前线程,该命名空间中有四个函数:get_id()、sleep_for()、sleep_until()、yield()。 1. get_id()、sleep_for()和sleep_until() this_thread::sleep_for(ch 阅读全文
posted @ 2023-03-30 11:19 好人~ 阅读(396) 评论(0) 推荐(0)
摘要:参考:b站视频 线程的任务函数可以是普通函数、类的非静态成员函数、类的静态成员函数、lambda函数、仿函数。下面举例说明: #include <unistd.h> #include <iostream> #include <thread> // 线程类头文件。 using namespace st 阅读全文
posted @ 2023-03-29 22:22 好人~ 阅读(56) 评论(0) 推荐(0)
摘要:下图是本篇论文的总览图: 分为两个阶段: 第一部分中,丢弃不可能出现目标的scene(query-scene score低的) 第二部分中,使用剩余的scene执行person search。并且会将第一部分得到的query-scene scores作为权重用于第二部分,即在计算reid featu 阅读全文
posted @ 2023-03-22 20:25 好人~ 阅读(92) 评论(0) 推荐(0)
摘要:在 C++ STL 容器中,size_type 是一个无符号整数类型,用于表示容器中元素的数量或大小。由于不同平台和编译器有不同的实现,因此使用 size_type 可以确保代码的可移植性和兼容性。 下面是使用 size_type 的一个示例: #include <iostream> #includ 阅读全文
posted @ 2023-03-18 09:08 好人~ 阅读(135) 评论(0) 推荐(0)
摘要:在程序运行时分配的内存空间是需要在运行中释放的,这部分内存称之为堆。 智能指针不用自己释放内存,只要没有指针指向内存了,就会自动释放。下面是两种智能指针: shared_ptr允许多个指针指向同一个对象。使用一个计数器记录对象被多少指针指向。无论何时我们拷贝一个shared_ptr,计数器都会递增。 阅读全文
posted @ 2023-03-17 22:16 好人~ 阅读(682) 评论(0) 推荐(0)
摘要:# 1.一文读懂社长的TinyWebServer 为提高效率,我们将在这部分通过线程池来实现并发(多线程并发),为每个就绪的文件描述符分配一个逻辑单元(线程)来处理。 Linux下有三种IO复用方式:epoll,select和poll,为什么用epoll,它和其他两个有什么区别呢? - 对于sele 阅读全文
posted @ 2023-03-15 11:07 好人~ 阅读(244) 评论(0) 推荐(0)
摘要:TinyWebServer 动态线程池 阅读全文
posted @ 2023-03-11 20:51 好人~ 阅读(16) 评论(0) 推荐(0)
摘要:[python程序异步协程程序、asyncio](https://www.cnblogs.com/codingbigdog/p/17532669.html)中使用python实例说明了协程可以起到基本知识,可以先看一下。 # 1.C++协程 参考:[1. C++ 协程概览](https://www. 阅读全文
posted @ 2023-03-10 22:11 好人~ 阅读(2112) 评论(0) 推荐(0)
摘要:异步IO:在异步IO中,首先设置好文件需要读取到哪个变量中,然后文件读取到此变量中的过程都是在内核中操作的,用户程序并不会因为读文件操作而阻塞。当文件读取完毕时,通过特定的方式通知用户程序,比如发送信号SIGIO通知用户程序文件已经读取完毕了。我们可以给信号SIGIO设置回调函数,在回调函数中将获取 阅读全文
posted @ 2023-03-10 21:10 好人~ 阅读(861) 评论(0) 推荐(0)
摘要:Clang只是一个编译器前端,将C、C++、Objective-C语言编译成“汇编语言”。接着,通过LLVM(Low Level Virtual Machine)作为后端,将这种“汇编语言”编译成针对不同机器的二进制机器语言。 Clang是在类BSD许可证下发布,所以不必担心像GPL下发布的GCC那 阅读全文
posted @ 2023-03-10 21:00 好人~ 阅读(307) 评论(0) 推荐(0)
摘要:第八章 高性能服务器程序框架(后续章节的总览) 1.一些概念性的东西:I/O处理单元与逻辑单元、C/S与P2P I/O处理单元与逻辑单元: I/O处理单元:接受客户的请求,并启动逻辑单元对客户发送的信息进行处理。常见的I/O处理单元为select、poll和epoll。 逻辑单元:逻辑单元可能是一个 阅读全文
posted @ 2023-03-08 22:30 好人~ 阅读(53) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2023-03-08 10:46 好人~ 阅读(5) 评论(0) 推荐(0)
摘要:python的subprocess模块,用于在python程序运行过程中,开启多个子进程执行多个不同的脚本,并给不同的子进程指定不同的conda虚拟环境,并且主进程和子进程使用管道进行通信。实例如下: test.py:使用subprocess创建子进程并激活conda虚拟环境 import subp 阅读全文
posted @ 2023-03-06 21:48 好人~ 阅读(772) 评论(0) 推荐(0)
摘要:如下命令的含义: protoc --go_out=. --go_opt=paths=source_relative \ --go-grpc_out=. --go-grpc_opt=paths=source_relative \ helloworld/helloworld.proto --go_out 阅读全文
posted @ 2023-03-06 11:50 好人~ 阅读(112) 评论(0) 推荐(0)
摘要:127.0.0.1 是一个环回地址,回环的含义应该是自己给自己发消息。 并不表示“本机”。 0.0.0.0才是真正表示“本网络中的本机”。 在实际应用中,一般我们在服务端绑定端口的时候可以选择绑定到0.0.0.0,这样局域网内的其他主机就可以通过服务端的ip访问到服务端。 阅读全文
posted @ 2023-03-04 18:46 好人~ 阅读(321) 评论(0) 推荐(0)
摘要:vscode go 调试 视频 go语言学习:安装与入门、包管理、go的环境变量、go mod命令的使用、导入自定义包使用的是模块名而不是文件夹名。 go中不同模块的互相调用、go test用于对go程序进行测试:返回和处理错误、math/rand的使用、形参为数组,返回值为map、编译和安装程序 阅读全文
posted @ 2023-03-04 16:08 好人~ 阅读(26) 评论(0) 推荐(0)
摘要:https://zhuanlan.zhihu.com/p/93054291 Nowadays, an increasing number of [某种现象] in [某种场合]. It is estimated that [相关数据]. Why have there been so many [某种 阅读全文
posted @ 2023-03-02 18:53 好人~ 阅读(30) 评论(0) 推荐(0)