自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TCP黏包出现以及解决思路

TCP黏包发生的主要原因是tcp是以数据流的形式进行传递的,在保持长连接的时候可以进行多次收发黏包可能发生在发送端也可能发生在接收端发送端:1.由Nagle算法造成的发送端黏包:Nagle算法是一种改善网络传输效率的算法,简单来说,当我们提交一段数据给tcp发送的时候,TCP不立刻发送此数据,而是等待一小段时间看看等待时间内是否还有要发送的数据,若有则会一次性把这两段数据发送出去。既在等待时间内同时发送不满足MSS,(Maxitum Segment Size 这个最大值一般是)那么则会出现黏包现

2022-03-16 12:02:08 2371

原创 GO通道练习

package learnChannelimport ( "fmt" "sync")/* 单纯让函数并发是没有意义的,函数与函数之间需要交换数据才能体现函数并发的意义 虽然可以使用共享内存进行数据交换,但共享内存在不同的goroutine中容易发生竞态问题(资源竞争),为了保证数据交换的正确性 必须使用互斥锁进行枷锁,但这样做会造成资源的浪费 Go语言的并发模型是CSP 提倡通过通信共享内存而不是通过共享内存实现通信 如果说goroutine是Go程序的并发执行体,channel就.

2022-03-11 11:20:43 187

原创 Goroutine解析

Go语言的并发是通过goroutine实现的,类似于线程,属于用户态线程,我们可以根据需要创建成千上万个Goroutine并发工作。Goroutine是由Go语言运行时的runtime调度完成的,而线程是由操作系统调度完成的Go语言提供了channel在多个goroutine间进行通信,Goroutine和channel是Go语言秉承的CSP(并发模式)的重要实现基础Goroutine是用户态的线程OS线程是操作系统线程 一般有固定的栈内存(通常是2MB),一个goroutine的栈在其生.

2022-03-10 14:49:50 183

空空如也

空空如也

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

TA关注的人

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