golang操作mysql使用总结 前言Golang 提供了database/sql包用于对SQL数据库的访问, 作为操作数据库的入口对象sql.DB, 主要为我们提供了两个重要的功能:sql.DB 通过数据库驱动为我们提供管理底层数据库连接的打开和关闭操作.sql.DB 为我们管理数据库连接池需要注意的是,sql.DB表示操作数据库的抽象访问接口,而非一个数据库连接对象;它可以根据drive
转载 2024-06-12 21:06:07
27阅读
GM模型 第一个M怎么来的?,G怎么找到对应的P? 1. 系统启动的时候,首先跑的是主线程,那第一个M应该就是主线程吧M1 2. 然后这个主线程会绑定第一个P1 3. 咱们写的main函数,其实是作为一个goroutine来执行的(雨痕说的) 4. 也就是第一个P1就有了一个G1任务,然后第一个M1 ...
转载 2021-10-23 20:35:00
145阅读
2评论
前言Goroutine & Schedulergoroutine 是什么?通常 goroutine 会被当做 coroutine(协程)的 golang 实现,但实际上,goroutine 并非传统意义上的协程,现在主流的线程模型分三种:内核级线程模型、用户级线程模型和两级线程模型(也称混合型线程模型),传统的协程库属于用户级线程模型,而 goroutine 和它的 Go Schedule
转载 6月前
37阅读
Golang【gorm】模型
原创 2023-02-09 11:03:25
161阅读
go内存模型是指在特定的条件下,向goroutine中的变量写入值,在另一个goroutine中能够读取到该变量的值 多个goroute同时修改一个数据必须是有序的使用channel或sync、sync/atomic包中提供的同步原语,可保证对数据顺序访问
翻译 2020-03-30 20:38:14
1398阅读
面向对象篇 “如果你读自己6个月前写的代码并且感觉仍然很好,那么可能就有些不对劲了。这通常意味着你这6个月没有学到新东西。” ----Brett Cannon 文章目录面向对象篇1.`@classmethod` -- 类方法2.`@staticmethod` -- 静态方法3.实例方法4.`@property` -- 内置描述符5.私有成员的实现 “一切皆对象”是Python编程的核心思想之一
golang ioutil与io包详解ioutilio错误变量接口结构体函数 前提概要,公共错误处理 func checkErr(err error) { if err != nil { log.Fatil(err) } }输出文件目录 file1.txt中的内容为1行 1:街角魔族是最好看的动漫! file2.txt中的内容为2行 2:街角魔族是最好看的动漫! 还有一个输入文件夹in,
最近编程语言当中,golang无疑是风生水起,年度语言,服务器端语言,并发语言,皇冠可谓不少。golang开发的初衷是替换掉c/c++,作为系统级语言,加上在1.3版本中打算将编译系统从原来c语言开发的plan 9编译器,改为golang实现,可谓野心勃勃。golang最令人赞美的就是简单的语法,你可能花不了一天就能掌握golang的语法,关键字。golang的goroutine和channel给
转载 2024-05-30 00:29:44
106阅读
首先需要题主记住一个结论:编程技术是一个技能。既然是一项技能,就像骑自行车一样,是可以通过不断的练习来获得这项技能。因此,题主在日后的工作中,不要再提自己属于野生自学非科班学生这个背景,每当你这么说自己时,其实都是对自己的不自信,潜意识里认为自己是非专业出身,是学不会的根本原因。但是,其实压根就是错误的想法。想想看,从高考后,到大学的所学专业,没有几个人真正知道自己想学什么的,另外还有很多是服从调
转载 2024-08-19 10:27:23
100阅读
文章目录谁返回结果最快用谁的结果,一旦返回最快的结果被拿到了,函数就直接解除阻塞往下执行,无需关注其他慢的结果场景:比如说发送几个 goroutine 去请求某一个数据库,谁最快返回,ch 就被阻塞,然后走 default 分支直接退出了func Query(conns []Conn, query string) Result { ch := make(cahn Result) for _, conn := range conns { go func(c Conn) {
原创 2022-01-06 14:18:21
259阅读
文章目录谁返回结果最快用谁的结果,一旦返回最快的结果被拿到了,函数就直接解除阻塞往下执行,无需关注其他慢的结果场景:比如说发送几个 goroutine 去请求某一个数据库,谁最快返回,ch 就被阻塞,然后走 default 分支直接退出了func Query(conns []Conn, query string) Result { ch := make(cahn Result) for _, conn := range conns { go func(c Conn) {
原创 2021-11-11 13:59:07
235阅读
​    package mainimport ( "time" "log")var a stringfunc hello() { time.Sleep(time.Millisecond * 900) // 这里如果sleep 1 秒的话, 执行程序时可能看不到打印的 “hello” log.Println(a)}func main() { a = "hello\n" go hello
转载 2021-05-13 10:46:00
71阅读
2评论
小结:各种语言都支持传统的多线程模型实现并发python比较特殊因为有GIL无法真正并发、java/nodejs的reactor事件模型因为callback hell会导致业务逻辑分散和不易维护、scala通过akka事件库和actor模型实现了高并发和代码逻辑的连贯性、golang的创新在于使用m
原创 2021-07-22 11:49:08
398阅读
Actor模型原理漫谈并发编程:Actor模型​​https://www.jianshu.com/p/db04cab86ab9​​ AsynkronIT/​protoactor-go​十分钟理解Actor模式​​https://blog.51cto.com/nxlhero/1666250​​关于GOLANG的chan​​https://studygolang.com/articles/7750​​
转载 2023-01-05 11:02:21
338阅读
1、Golang调度器的由来 2、Goroutine调度器的GMP模型及设计思想 3、Goroutine调度场景过程全图文解析 早期的单进程操作系统,面临2个问题: 1.单一的执行流程,计算机只能一个任务一个任务处理。 2.进程阻塞所带来的CPU时间浪费。 多进程/线程时代有了调度器需求: 进程拥有 ...
转载 2021-07-28 21:44:00
395阅读
2评论
Go语言的CSP模型路由器没有路https://www.zhihu.com/people/lu-you-qi-mei-you-lu-37​Go语言的CSP模型 - 知乎前 uanlan.zhihu.com/p/313763247前
转载 2023-01-05 20:42:06
133阅读
开心一刻 物理课,老师讲到:“裂变是一种物理变化,张亮,你来给大家讲讲你的理解!” 张亮:“裂变是一种极其恐怖的反应,当它发生时,人绝对不要靠近!” 老师点点头。 张亮继续道:“否则,就会沾一身的恶臭。对了,裂便就是大便炸裂开来的意思,以前我经常把鞭炮插在.....” 老师咆哮:“你滚出去!” Go ...
转载 2021-07-23 16:41:00
150阅读
2评论
[转]Golang调度模型
转载 2021-05-17 15:12:00
125阅读
2评论
golang 中存在通道 chan,golang 中有一套比较标准的超时重试机制,但是需要借助 time 包中的函数func main() { c := make(chan int) fmt.Println(time.Now()) // 开启协程,往信道传数据 go func() { tīme.Sleep(time.Second * 4) c <- 0 }() for {
原创 2021-09-16 14:57:42
385阅读
模型定义参考文档:https://gorm.io/zh_CN/docs/models.html 1. 模型定义 模型一般都是普通的 Golang 的结构体,Go的基本数据类型,或者指针。例子:id这里其实就是一个主键,主键就是可以自增并且不能重复。CreatedAt *time.Time `json:"createdAt" gorm:"column:create_at"`  你在创建的时
原创 2023-06-03 01:28:54
159阅读
  • 1
  • 2
  • 3
  • 4
  • 5