分类:
Python |
标签:
Python |
发布:2024年08月07日 |
作者:augustrush |
阅读量:128
最近在工作时有一个需求:获取文件名,不含文件名后缀。我很轻松地想到了使用python的内置函数strip来实现,然而这一举动带来一个严重BUG,导致DEBUG好几天。特此记录,避免再次踩坑。
分类:
Golang |
标签:
Golang |
发布:2024年05月06日 |
作者:augustrush |
阅读量:1013
context可以用来在goroutine之间传递山下文信息,相同的context可以传递给运行在不同goroutine中的函数,上下文对于多个goroutine同时使用是安全的。context的作用就是在不同的goroutine之间同步请求特定的数据、取消信号以及处理请求的截止日期。
分类:
Golang |
标签:
Golang |
发布:2024年04月29日 |
作者:augustrush |
阅读量:808
Go语言处理时间相关的函数
当不得不使用共享内存来实现并发编程的,那Golang中的锁机制,就是你绕不过的知识点了。
分类:
Golang |
标签:
并发编程 |
发布:2024年01月22日 |
作者:augustrush |
阅读量:957
Goroutine 是 Go 语言支持并发的核心,在一个Go程序中同时创建成百上千个goroutine是非常普遍的,一个goroutine会以一个很小的栈开始其生命周期,一般只需要2KB。区别于操作系统线程由系统内核进行调度, goroutine 是由Go运行时(runtime)负责调度。例如Go运行时会智能地将 m个goroutine 合理地分配给n个操作系统线程,实现类似m:n的调度机制,不再需要Go开发者自行在代码层面维护一个线程池。
单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。虽然可以使用共享内存进行数据交换,但是共享内存在不同的 goroutine 中容易发生竞态问题。为了保证数据交换的正确性,很多并发模型中必须使用互斥量对内存进行加锁,这种做法势必造成性能问题。
分类:
Golang |
标签:
Golang |
发布:2024年01月12日 |
作者:augustrush |
阅读量:662
slice在作为参数传入函数时的问题