删除文章

确定要删除这篇文章吗?

取消
确定

golang 控制goroutine调度顺序

使用go关键字就可以很容易的启动一个goroutine,启动后他们的执行顺序是不能保证的。如果有多个goroutine,怎样按照我想要的顺序来执行呢? 如: a1在b1和c1后面执行(b1和c1都执行完a1才能执行) d1在a1后面执行(d1执行完才能执行a1) e1在b1或者c1后面执行(b...
2020-07-29 05:54:24
阅读(29)

golang设置桌面壁纸

golang语言编写,设置windows桌面壁纸,图片来自于必应网站(cn.bing.com) github源码地址:[https://github.com/tujiaw/gowallpaper](https://github.com/tujiaw/gowallpaper) 有兴趣的Star一下吧 编译好的程序:[https://pan.baidu.com/s/1l5OW9GeuUF0r5TFaBW...
2020-07-04 13:21:17
阅读(96)

golang调用Windows API

golang还能调用Windows API非常有意思,下面写了一个golang换壁纸的demo。 准备了两张bmp格式的图片,没三秒钟换一下壁纸。 主要是先通过dll获取里面api,要注意api参数的写法,dll用完了要释放句柄,这里我用缓存把api缓存起来不必每次调用都去dll里加载。 代码: pac...
2020-06-01 08:38:49
阅读(230)

goland2020.1含激活

下载地址:https://pan.baidu.com/s/1qh49NXUm0K0VlJo82d723A 提取码:4p8h 激活方式见:Patch/jetbrains-agent/README.txt 如果你下载的jetbrains-agent.jar小于2M,肯定是没有下载完全(可对照sha1sum.txt)。 请保留压缩包内的important.txt和jetbrains-agent...
2020-05-05 08:33:28
阅读(393)

golang html/template模板继承(嵌套)实例

golang的模板包是html/template,使用的时候通常我们会关注它的模板继承(模板嵌套)怎么写, 毕竟这影响到整体网页渲染接口的写法,以及接口是否优雅和可扩展。 base.tmpl 首先,我们定义一个基础模板layouts/base.tmpl cassandraql {{ define "base" }} <html> <he...
2020-05-04 14:12:50
阅读(156)

sync.WaitGroup增加timeout

要等待多个goroutine完成,我们可以使用sync.WaitGroup,但是它会一直等待,这里简单封装下增加超时机制。 直接上代码: type WaitGroupTimeout struct { wg sync.WaitGroup done chan struct{} timeout time.Duration } func NewWaitGroupTimeout(timeout...
2020-04-29 07:52:02
阅读(165)

golang与qpid broker通信

这里我用的是github.com/Azure/go-amqp这个库,它支持AMQP 1.0协议,是纯go语言实现的。qpid用的是1.39.0版本直接启动的话它是不支持AMQP 1.0协议的,需要加载amqp.so库([加载方法](https://www.ningto.com/post/5ea109bb707b535469eb754c))。 下面演示使用sender和rece...
2020-04-29 01:33:14
阅读(203)

用脚本启停我的go程序

用一个脚本来方便编译、启停我的blog程序(go语言编写的),我在程序中使用了github.com/sevlyar/go-daemon这个库来让博客进程在后台运行。具体用法可以看github上的README,它会生成一个文件存放当前运行进程的pid,我这里取名叫:ningtogo.pid。下面就是服务端脚本的编写了。 ...
2020-04-19 12:01:09
阅读(178)

go channel缓冲的作用

golang中make chan第二个参数设置缓冲区的大小,如果不设置是无缓冲区的。 下面通过一个例子来说明缓冲的作用。 代码如下: package main import ( "fmt" "time" ) var ch = make(chan int) func main() { go sender() time.Sleep(1 time.Second) ...
2020-04-19 06:17:39
阅读(174)

给mongodb服务增加认证

在连接mongodb的时候增加用户名和密码认证,如你需要访问nodeblog库进行认证。 将数据库配置改为不需要认证的方式启动 noauth:true ./mongod 进入本地数据库 use nodeblog 切换到nodeblog db.createUser({user:"lion", pwd:"lion", roles:[{role: "readWrite", d...
2020-04-19 04:31:18
阅读(200)

ERROR: child process failed, exited with error number 62

今天做了数据库恢复动作,然后重启mongodb的时候出现如下错误: ERROR: child process failed, exited with error number 62 解决方法是: 找到dbpath所在的目录删除掉(注意你之前的数据应该有备份),如我的存放在db目录 rm -rf ./db mkdir db 然后重新创建...
2020-04-19 04:18:43
阅读(181)

go拓扑排序

拓扑排序常用来确定一个依赖关系集中,事物发生的顺序。例如,在日常工作中,可能会将项目拆分成A、B、C、D四个子部分来完成,但A依赖于B和D,C依赖于D。为了计算这个项目进行的顺序,可对这个关系集进行拓扑排序,得出一个线性的序列,则排在前面的任务就是需要先完成的任务。 注意...
2020-03-01 01:15:33
阅读(243)
 
Keep it simple,stupid
文章数
338
今日访问
1923
今日IP数
658
最近评论

liangzi: 不错 谢谢分享
tujiaw: registerThreadInactive:如果当前没有激活的线程,就去激活线程,让等待的线程去执行任务。
hgzzx: 佩服佩服。 请教:registerThreadInactive的作用是什么?
xuehaoyun: 很不错,来围观一下
tujiaw: 抱歉csdn code服务关闭了,这个代码我也找不到了
于淞: 你好,这个文章的源码能分享一下吗,songsong9181@163.com,谢谢了 上面的写错了
回到顶部