当前位置:网站首页>实习日报-2022-7-29
实习日报-2022-7-29
2022-08-01 15:14:00 【阿联爱学习】
今日完成
- 安装项目开发的软件-GoLang
- 学习Go语言并发
- 协程:共享堆空间,独立的栈空间,调度由用户自己控制。使用方式:go+func(函数或者匿名函数),go + { 代码块}
- 协程之间的通信
- Channel是进程内协程之间通信的方式
- 进程之间的通信可以采用HTTP协议或者RPC完成
- Channel:基于消息机制的消息通信方式,而非给予内存的通信方式
- Channel分为带缓冲的和不带缓冲的channel,不带缓冲的channel要求发送和接收的channel同时准备好,而带缓冲的channel则可以缓存数据。
- Channel的接受方式:阻塞式接受,非阻塞式接受,接受不处理,循环接收。
- 锁
- 可以通过go build – race 来检测数据竞争检测。
- sync.WaitGroup类似于循环栅栏,先用add申明由多少资源,在用done去表示资源被消费掉,最后用wait()方法表示等待所有协程到来。
- sync.Mutex:悲观锁
- sync.RWMutex:乐观锁
- 原子atomic
- Atomic.AddInt32()安全相加
- Atomic.LoadInt32()安全读取
- 协程之间的调度
- GMP调度,G代表goroutine,M代表内核线程,P表示处理器对应为内核,P上面由本地队列,还有一个全局队列。M先执行完本地队列的任务,在执行其他队列的任务,最后执行全局队列的任务。
- Go语言版本的快排,熟悉Go的语法
package main import "fmt" func main() { nums := []int{1,3,5,7,9,0,2,4,8,10} println(len(nums)) Qsort(nums,0,len(nums)-1) for i := range nums{ fmt.Println(i) } } func Qsort(nums []int,left int,right int){ if(left >= right){ return } mid := partition(nums,left,right) Qsort(nums,left,mid-1) Qsort(nums,mid+1,right) } // 切片进行传递 func partition(nums []int,left int,right int)(int) { flag := left index := left + 1 for i := index ; i <= right ;i++{ if(nums[i] < nums[flag]){ swap(nums,index,i) index++; } } swap(nums,index-1,left) return index -1 } func swap(nums []int,i int,j int) { tep := nums[i] nums[i] = nums[j] nums[j] = tep }
- 协程之间的调度
- 遇到的问题:用两个协程打印奇偶1-100的数字,遇到了主协程比两个从协程先执行完,导致无法进行打印,通过询问吴金龙导师才解决问题,只需要让主协程等待从协程一会就行。
- 周会:从下午四点到六点,听的很困难,学习空间很大!
- 明日计划
- 继续学习Go语言技术文档并逐步学习支付中台业务流程。
边栏推荐
- 手机扫码登陆原理(扫码充电线原理)
- kubelet节点压力驱逐
- 2022-08-01日报:18张图,直观理解神经网络、流形和拓扑
- openEuler 社区完成首批顾问专家聘用,共同为社区的发展贡献力量
- "Find nearby shops" | Geohash+MySQL realizes geographic location filtering
- ffmpeg视频剪辑中报错Could not write header for output file #0 (incorrect codec parameters ?): ……
- Wovent Bio IPO: Annual revenue of 480 million pension fund is a shareholder
- LeetCode50天刷题计划(Day 10—— 三数之和(20.50-22.40)
- WPF如何自定义隐藏下拉框选项
- 【LeetCode】37、解数独
猜你喜欢
随机推荐
测试如何拓展自己的知识面?
你真的会测试用户登录吗?
长江欧拉生态创新中心成立,武汉数字经济再添坚实底座
The default database main key, foreign key, and the only key index
MySQL [create and manage tables]
产品力无提升的雷克萨斯新款ES ,为何敢于涨价?
CSDN配置功能总结
js to determine whether it is a pc or a mobile terminal (including ipad)
wordpress模板函数说明备注整理收藏
Bloom filter bloom
ffmpeg视频剪辑中报错Could not write header for output file #0 (incorrect codec parameters ?): ……
"Find nearby shops" | Geohash+MySQL realizes geographic location filtering
HTB-Shocker
2022-08-01日报:18张图,直观理解神经网络、流形和拓扑
VIM使用指南(7)单词移动/删除技巧
【论文笔记】MiniSeg: An Extremely Minimum Network for Efficient COVID-19 Segmentation
HDU 2602: Bone Collector ← 0-1背包问题
Chat technology in live broadcast system (8): Architecture practice of IM message module in vivo live broadcast system
兆骑科创科创赛事平台,创业赛事活动路演,线上直播路演
Zhaoqi Science and Technology Innovation Platform attracts talents and attracts talents, and attracts high-level talents at home and abroad