qq18457852
qq18457852
全部文章
linux系统...
c++(55)
Linux内核与操作系统(12)
代码随笔(4)
分布式系统与中间件(1)
服务器架构设计(2)
深度学习(6)
网络与数据库(7)
设计模式(2)
题解(1)
归档
标签
去牛客网
登录
/
注册
qq18457852的博客
全部文章
/ linux系统编程与网络编程
(共31篇)
gcc __thread
__thread 变量 __thread 标识符修饰的全局或静态变量是线程独立的,线程对该变量的操作对其它线程来说是不可见的。然而线程之间共享内存空间的,因此要达到如些效果就需要针对该变量为每个线程分配变量的存储位置。在 Glibc 中, 所有的 __thread 变量是与 pthread 关联存...
2019-12-19
0
669
服务器设计:心跳机制
心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制。 应用场景: 在长连接下,有可能很长一段时间都没有数据往来。理论上说,这个连接是一直保持连接的,但是实际情况中,如果中间节点出现什么故障是难以知道的。更要命的是,有的节点(防火墙)会自动把一定时间之内...
2019-12-19
0
975
tcp长连接保活与心跳机制
TCP Keepalive的起源 TCP协议中有长连接和短连接之分。短连接环境下,数据交互完毕后,主动释放连接; 长连接的环境下,进行一次数据交互后,很长一段时间内无数据交互时,客户端可能意外断电、死机、崩溃、重启,还是中间路由网络无故断开,这些TCP连接并未来得及正常释放,那么,连接的另一方并不...
2019-12-19
0
616
udp实现可靠传输
做项目正好需要用可靠传输UDP来做传输层,基本思路还是在应用层模仿TCP,超时重传,滑动窗口等机制,三次握手,四次挥手过于复杂,简化成了2次握手,仅确认SEQ或者ACK,如果没有收到正确的报文则重传报文。数据包在发送之前会先存到数据队列,实现缓存,每次发包从数据去取,超时重传时间,超时重传最大次数也...
2019-12-19
0
1139
正则表达式总结
正则总结: \ 将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属...
2019-12-19
0
443
gcc linux 利用原子操作实现无锁编程
_ATOMIC_ADD_和_ATOMIC_SUB_是我实现的两个宏,分别对应__sync_fetch_and_add(x, y) __sync_fetch_and_sub(x,y) x需要传地址,y为要加/减的数,可以替代多线程mutex编程 #include <bits/...
2019-12-19
0
660
gcc linux利用CAS实现无锁编程
利用__sync_bool_compare_and_swap(),实现无锁编程 CAS即compare and swap,每次都会和old 值进行比较,如果没有发生更改再用new值给ptr赋值,然后返回true #include <bits/stdc++.h> #include &...
2019-12-19
0
701
正则表达式总结
正则总结: \ 将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属...
2019-08-17
0
461
udp实现可靠传输
做项目正好需要用可靠传输UDP来做传输层,基本思路还是在应用层模仿TCP,超时重传,滑动窗口等机制,三次握手,四次挥手过于复杂,简化成了2次握手,仅确认SEQ或者ACK,如果没有收到正确的报文则重传报文。数据包在发送之前会先存到数据队列,实现缓存,每次发包从数据去取,超时重传时间,超时重传最大次数也...
2019-07-23
0
926
tcp长连接保活与心跳机制
TCP Keepalive的起源 TCP协议中有长连接和短连接之分。短连接环境下,数据交互完毕后,主动释放连接; 长连接的环境下,进行一次数据交互后,很长一段时间内无数据交互时,客户端可能意外断电、死机、崩溃、重启,还是中间路由网络无故断开,这些TCP连接并未来得及正常释放,那么,连接的另一方并不...
2019-07-13
0
1571
首页
上一页
1
2
3
4
下一页
末页