网站首页 返回列表 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。

GO——学习笔记(九):并发
2020-06-10 11:46 admin go并发

上篇:下篇:参考:[https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/02.7.md](https://link.jianshu.com?t=https://github.com/astaxie/build-web-a...
阅读全文

第八章 并发
2020-06-10 04:10 admin 并发第八章

1\.并发和并行的区别并行:多核cpu在同一时间片内并行处理多个任务。并发:如单核cpu在多个任务间进行时间片切换,并非同一时间片执行多个任务,只是上下文切换时间很短,看似多个任务并行。多线程和多线程是并行的基本前提条件,单线程也可用协程做到并发。在golang中是通过goroutine来实现并发的,goroutine...
阅读全文

Golang笔记-- 并发模式
2020-06-10 03:50 admin golang并发

并发模式[TOC]并发程序指同时进行多个任务的程序,Go程序一种支持并发的方式是通过goroutine和channel,支持“顺序通信进程”(communicatingsequentialprocesses)或被简称为CSP.>CSP是一种现代的并发编程模型,在这种编程模型中值会在不同的运行实例(goroutine)中...
阅读全文

go语言并发原理和机制【二】
2020-06-10 03:47 admin go并发

谢谢知乎不完善的文章编写系统把我赶到了简书:)老规矩吧,废话也懒得说了。知乎白瞎了我一篇文章,现在也不说多废话。*****目录*****1.再探协程什么是协程序,上一篇文章仅仅是一笔带过,只说了他是一个比线程更加轻量级的东西;就好像一个函数。可是它到底是什么?它有没有内存自己的内存组织?谁来调度它?**Coroutin...
阅读全文

go语言并发原理和机制【一】
2020-06-10 03:47 admin go并发

**转载至本人知乎文章:****从这篇文章开始,开启Go语言CSP并发模型的学习**老实说,我不太想讲太多关于进程、线程、虚拟内存等内容;毕竟这对于计算机专业的同学来说,鄙人的讲解简直就是班门弄斧。但我思来想去,我觉得还是要从比较底层的东西,层层往上,这样也有助于理解;况且高等操作系统这门课马上就要期末考试了,权当复习...
阅读全文

简单的并发控制 —— WaitGroup
2020-06-10 03:05 admin 并发WaitGroup

>声明:本文仅限于简书发布,其他第三方网站均为盗版,原文地址:[简单的并发控制——>WaitGroup](https://link.jianshu.com?t=https://liuliqiang.info/post/204/)在golang中,我了解的并发同步主要有两种方式,一种是channel,另外一种就是我想说的...
阅读全文

golang 高并发数据库库存同步处理
2020-06-10 03:00 admin golang并发

方法一(对数据库的读写操作加锁)一(DAO层加行锁:读写锁)__packagemainimport("sync")//1、多个读之间不存在互斥关系//2、写操作之间都是互斥的,并且写操作与读操作之间也都是互斥的typeidMutexmap[string]*sync.RWMutexvarmyIdMutexidMutexf...
阅读全文

GoLang并发控制(下)
2020-06-10 02:53 admin golang并发

context的字面意思是上下文,是一个比较抽象的词,字面上理解就是上下层的传递,上会把内容传递给下,在go中程序单位一般为goroutine,这里的上下文便是在goroutine之间进行传递。>>根据现实例子来讲,最常看到context的便是web端。一个网络请求request请求服务端,每一个request都会开启...
阅读全文

GoLang并发控制(上)
2020-06-10 02:52 admin golang并发

GoLang并发控制(上)>>**在go程序中,最被人所熟知的便是并发特性,一方面有goroutine这类二级线程,对这种不处于用户态的go程的支持,另一方面便是对并发编程的简便化,可以快捷稳定的写出支持并发的程序。***先回顾进程or线程之间的通信方式inte-processcommunication(IPC)其中G...
阅读全文

轻松检测Golang并发的数据竞争
2020-06-10 02:51 admin golang并发

Golang中我们使用Channel或者sync.Mutex等锁保护数据,有没有一种机制可以检测代码中的数据竞争呢?>背景知识>>数据竞争是并发情况下,存在多线程/协程读写相同数据的情况,必须存在至少一方写。另外,全是读的情况下是不存在数据竞争的。使用race检测数据竞争`gobuild`有个标记`race`可以帮助检...
阅读全文

来,控制一下 Goroutine 的并发数量
2020-06-10 02:51 admin goroutine并发

image原文地址:[来,控制一下Goroutine的并发数量](https://github.com/EDDYCJY/blog/blob/master/golang/2019-01-20-%E6%9D%A5-%E6%8E%A7%E5%88%B6%E4%B8%80%E4%B8%8Bgoroutine%E7%9A%84%...
阅读全文

Golang并发模型:并发协程的优雅退出
2020-06-10 02:50 admin golang并发

goroutine作为Golang并发的核心,我们不仅要关注它们的创建和管理,当然还要关注如何合理的退出这些协程,不(合理)退出不然可能会造成阻塞、panic、程序行为异常、数据结果不正确等问题。这篇文章介绍,如何合理的退出goroutine,减少软件bug。goroutine在退出方面,不像线程和进程,不能通过某种手...
阅读全文

Go 的并发模式(中)(更新中)
2020-06-10 02:48 admin go并发

square-gopher.png在go语言中为并发提供了许多工具,如下GoroutineChannelsSelectSyncpackage今天我们不去谈论goroutine,这是go语言的核心,准备拿出单独内容跟大家来分享goroutine,而是重点讨论作为CSP基石的channel,既然讨论channel我们就需要...
阅读全文

Go 的并发模式(上)(更新中)
2020-06-10 02:47 admin go并发

square-gopher.png并发是一种设计*将您的程序**设计**为独立进程的集合*将这些进程**设计**为并行运行*通过**设计**让您的代码无论是同步还是异步结果并没有差异golang.jpg关注并发的细节*通过独立的任务来组织您的代码*确保没有raceconditions(竞争条件)*确保没有deadloc...
阅读全文
顶部 底部