摘要: 我们知道,对于一个已经关闭的channle来说,如果channel内部还有值的话,可以继续执行读操作,读出channel里的元素,但是不能执行写操作; 相反,如果关闭后,channel里已经没有元素可读的情况,再执行读操作的话会读出channel的零值,同样,也不能执行写操作。 首先,先让我们通过代 阅读全文
posted @ 2023-06-06 17:17 99号的格调 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 首先,如果对于一个已经关闭的channel来说,如果此时channel里还有值,则会正确读到channel里的值,且返回的第二个bool值为true;如果关闭前,channel里的值已经被读完,则最后返回的则是channel的零值; 那么针对该问题,我们通过代码来验证一下: package main 阅读全文
posted @ 2023-06-06 16:31 99号的格调 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 在go语言中,数组变量属于值类型,因此当一个数组变量被复制或者传递时,实际上会复制整个数组。eg,将a赋值给b,修改a中的元素,并不会修改b中的元素。为了避免复制数组,一般会传递指向数组的指针。 package main import "fmt" func main() { a := [...]in 阅读全文
posted @ 2023-06-05 21:37 99号的格调 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 很多网站都实现了“推送”功能,都会用到轮训这个技术,轮询就是每隔一段时间客户端就向服务器发送请求,来获得最新的数据。这种方式的缺点十分明显,浏览器每次发出的请求都含有比较大的header数据,浪费带宽资源。在这种背景下,HTML5定义了websocket协议,能够更好的节省服务器资源和带宽,而且可以 阅读全文
posted @ 2023-06-05 21:05 99号的格调 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 关于在golang中的中间件,可以翻阅笔者之前的博客,在这里不予详细说明。这里简单介绍下中间件的高级用法: 1.如果每个路由分别要配置多个中间价,该如何处理 2.如果有多个路由分别要配置多个中间件,该如何处理 3.尝试不定义结构体开发中间件 package main import ( "contex 阅读全文
posted @ 2023-06-04 18:26 99号的格调 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题目描述:给定两个字符串str1和str2,输出两个字符串的最长公共子串 abcde bebcd == > bcd 实现代码: 实现代码 public class MaxSubString { public static void main(String[] args){ String st1 = 阅读全文
posted @ 2023-06-04 17:44 99号的格调 阅读(7) 评论(0) 推荐(0) 编辑
摘要: Go标准库的Cond目的是:为等待/通知场景下的并发问题提供支持。Cond通常应用于等待某个条件的一组goroutine,等条件变为true的时候,其中一个goroutine或者所有的goroutine都会被唤醒。 Cond是和某个条件相关,这个条件需要一组goroutine协作共同完成,当条件还没 阅读全文
posted @ 2023-06-04 14:18 99号的格调 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 1.Lock/Unlock 没有成对出现,就意味着会出现死锁的情况,或者是因为 Unlock 一个未加锁的 Mutex 而导致 panic。 2.第二种误用是 Copy 已使用的 Mutex。 Package sync 的同步原语在使用后是不能复制的。原因在于,Mutex 是一个有状态的对象,它的 阅读全文
posted @ 2023-06-04 13:27 99号的格调 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 互斥锁的实现机制 互斥锁是并发控制的一个手段,是为了避免竞争而建立的一种并发控制机制。在并发编程中,如果程序中的一部分会被并发访问或修改,那么,为了避免并发访问导致的意想不到的结果,这部分程序需要被保护起来,这部分被保护起来的程序,就叫做临界区。可以说,临界区就是一个被共享的资源,或者说是一个整体的 阅读全文
posted @ 2023-06-04 12:45 99号的格调 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 什么是WaitGroup? WaitGroup解决的就是并发-等待问题:现在有一个goroutineA在检查点等待一组goroutine全部完成,如果 在执行任务的这些goroutine还没全部完成,那么goroutine A就会阻塞在检查点,知道所有goroutine都完成后才能继续执行。 Gol 阅读全文
posted @ 2023-06-03 23:27 99号的格调 阅读(67) 评论(0) 推荐(1) 编辑