自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 go-反射(一)

go中,类型的赋值和转换的其他编程语言有很大区别

2024-07-26 11:18:07 239

原创 go 并发

我想要检测一组url的运行状态,如果ok则返回true,结果返回的结果是空的。

2024-07-23 22:58:20 287

原创 go_test的使用

示例函数以Example开头输出:通过注释检查标准输出。执行:只有当包含注释时,在go test执行时才会运行。否之只会编译,不去运行基准测试(Benchmarking)在Go语言中是一种用于测量代码性能的测试方法。它通常用于评估代码的运行时间和资源消耗,帮助开发者找到性能瓶颈并优化代码。基准测试的函数以Benchmark开头,放在_test.go文件中,与普通的测试函数和示例函数放在一起。下面是详细介绍如何编写和运行基准测试。基准测试必须以Benchmark开头,必须接受一个类型的参数。

2024-07-20 16:20:52 195

原创 服务器开发问题-EPOLLIN、EPOLLOUT触发情况

初始连接完成当你使用非阻塞模式调用函数来连接远程主机,如果返回并且 是 ,这意味着连接正在进行中。此时,可以通过监视 事件来检测连接何时完成。当连接完成时,套接字会触发 事件。写缓冲区可用在非阻塞套接字上,如果你之前的 操作因为写缓冲区已满( 或 错误)而无法完成,你可以监视 事件。当缓冲区有空间可写时, 事件会被触发,这时你可以继续写数据。客户端主动断开连接客户端意外断开连接服务器发送数据时发现连接关闭:注意事项EPOLLOUT 触发频率:EPOLLOUT 事件非常频繁地触发,因为只要有可用的写

2024-07-07 17:12:43 374

原创 服务开发问题-条件变量、锁、信号量

锁信号量条件变量定义用于控制对共享资源的独占用于控制对共享资源的访问数量用于在特定条件满足时通知等待的线程特点阻塞其他试图访问同一资源的线程计数器机制,限制并发访问线程可以等待条件并在条件满足时被唤醒;必须与锁配合使用使用使用sem_wait和sem_post控制访问注意事项型号量是有记录功能的。可以先post()使信号量值+1,之后再wait()条件变量没有记录值的功能。如果先signal()再wait()是没用的。wait()是把当前线程放入阻塞队列。

2024-07-07 00:01:15 250

原创 服务器开发-ET,LT模式

关于LT,ET模式在服务器开发的使用

2024-06-13 21:21:54 388

原创 服务器开发——setsockopt函数

*** level:选项所在的协议层。例如,SOL_SOCKET 表示套接字层,IPPROTO_TCP 或 IPPROTO_IP 表示 TCP 或 IP 层。* optname:要设置的选项的名称。每个协议层都定义了自己的一组选项。* optval:指向一个变量的指针,该变量包含选项的新值。这个变量的类型取决于 optname 的值。* @return 成功(0);

2024-06-03 22:44:08 390

原创 数据完整性保证

在计算机项目开发中,数据的完整性和持久性是至关重要的。比如:在多进同时对日志文件进行写入的时候,如何避免日志信息的混乱,进程A写入的信息被进程B写入的信息覆盖。以及在电脑断电的情况下,尽力避免数据的丢失。

2024-05-28 18:47:02 904

原创 信号-sigset_t,sigaction

是一个结构体,用于指定当特定信号到达时应该如何处理它。这个结构体允许用户定义一个信号处理函数,以及在调用信号处理函数期间需要阻塞的信号集。它提供了比传统的signal()函数更多的控制和灵活性。这是指向信号处理函数的指针。该函数的类型为,其中signum是被捕获信号的编号。可以设置为SIG_IGN忽略信号,或SIG_DFL使用默认的信号处理方式。这是另一种信号处理函数的指针,类型为。与sa_handler不同,提供了更多的信息,例如信号的额外数据(通过siginfo_t。

2024-05-26 16:46:31 558

原创 易错点 — 字符串字面量 vs. 字符数组

当您使用 char* str = “abcdefg”;语法时,。这个字符串字面量在大多数现代编译器的实现中是存储在程序的中的。这意味着,虽然您可以改变指针 str(让它指向其他地址),但您不能修改它所指向的数据(即 “abcdefg”),尝试修改如 str[0] = ‘x’;将导致运行时错误,如段错误(Segmentation Fault)。而当您使用 char str[] = “abcdefg”;

2024-05-16 23:35:35 191

原创 CPP编程语言-模板

函数模板是指:可以用多种不同数据类型的参数进行调用,代表了一个函数家族。模板分为两大类:函数模板和类模板。

2024-04-30 00:03:35 1227 1

原创 模板的函数加载问题以及优先级问题

学习cpp模板的过程中发现模板函数和普通函数的优先级不同,以及容易出现模板实例化找不到的情况。

2024-04-29 23:38:48 551

原创 C++的内存划分

介绍了C++的内存分布。以及部分编译器会采用的SSO优化

2024-04-26 19:37:07 1273 1

原创 CPP三大特性

介绍了CPP的封装、继承、多态。详细介绍了多态中基类和父类函数调用顺序,以及多态情况下对象切片问题

2024-04-26 00:29:45 1018 1

原创 引用、指针、数组

介绍了引用在数组情况下的使用。详细介绍了引用和指针的区别。

2024-04-24 12:22:54 263

原创 C++语法中const到底是什么情况?

如何理解const

2024-04-18 17:36:34 691 1

原创 C++和C

讲述了C++和C在函数调用上的区别,并介绍了如何在C或CPP中调用另一方的函数。

2024-04-17 23:25:19 264 2

原创 多进程开发

l(list): 参数列表地址,一空指针结尾v(vector): 指针数组p(path):按照PATH环境变量指定的目录搜索文件e(environment):存有环境变量字符串地址的指针数组的地址。

2024-03-21 00:28:19 947 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除