Go语言中文网 为您找到相关结果 89

go :"os/signal"源码解析

最近在学习go语言,基本语法熟悉之后,想看一些开源项目,于是就找到了NSQ,在看NSQ源码的时候,对signal进行了阅读,一下内容仅供参考。 linux信号量知识点 图中可以看到信号来一共是62个,32和33没有 非实时信号都不支持排队,都是不可靠信号;实时信号都支持排队,都是可靠信号。 1到31号都是不可靠信号 go 语言singnal的源码(部分) type handler struct { mask [(numSig + 31) / 32]uint32 } func (h *handler) want(sig int) bool { return (h.mask[sig/32]>>uint(sig&31))&1 != 0 } func (h *handler) set(sig int...阅读全文

博文 2018-08-31 10:34:56 sixgo

Go项目(二)、toolbar和Material Design风格的选择

一、问题的出现: 使用google文档的写法,使用的material design风格只能在android L上面显示,sdk版本低于21的模拟器出现崩溃,所以为了能够在低版本的手机上显示同样的效果,我们使用toolbar进行显示。 二、原来使用于5.0的风格的写法(在自定义的theme中item会有android:这个命名空间的前缀) 三、使用toolbar的写法(一般在自定义的theme中没有android:这个命名空间的前缀) 具体的详细的操作可以看这篇博文 $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $nu...阅读全文

博文 2016-05-04 22:00:03 HNAer_RadAsm

Golang RWMutex读写锁分析

RWMutex:是基于Mutex实现的读写互斥锁,一个goroutine可以持有多个读锁或者一个写锁,同一时刻只能持有读锁或者写锁 数据结构设计: type RWMutex struct { w Mutex // 互斥锁 writerSem uint32 // 写锁信号量 readerSem uint32 // 读锁信号量 readerCount int32 // 读锁计数器 readerWait int32 // 获取写锁时需要等待的读锁释放数量 } // 获取写锁 func (rw *RWMutex) Lock() { if race.Enabled { _ = rw.w.state race.Disable() } // 先获取一把互斥锁 rw.w.Lock() // 减去...阅读全文

博文 2019-01-10 16:34:41 小马哥_Magical

Golang学习笔记:体验Go的并发编程(二)

在Go指南中,最后一节的练习是一个WEB爬虫。刚开始看目录以为真的是要写一个爬虫,直到仔细阅读了代码才发现,只是让利用channel和mutex模拟一个爬虫的代码。 初始状态如下 package main import ( "fmt" ) type Fetcher interface { // Fetch 返回 URL 的 body 内容,并且将在这个页面上找到的 URL 放到一个 slice 中。 Fetch(url string) (body string, urls []string, err error) } // Crawl 使用 fetcher 从某个 URL 开始递归的爬取页面,直到达到最大深度。 func Crawl(url string, depth int, fetche...阅读全文

博文 2018-01-08 20:33:04 Coderztf

OC信号量的基本使用

信号量 dispatch_semaphore_create(long value); value: 信号量的起始值。 传递小于零的值将导致返回NULL。 des: 当两个线程需要协调特定事件的完成时,为值传递零是有用的。 传递大于零的值对于管理有限的资源池非常有用,其中池大小等于该值。 returned: 新创建的信号量,或失败时为NULL。 dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout); desema: 信号量。 在此参数中传递NULL的结果是未定义的。 timeout: 何时超时(请参阅dispatch_time)。 为方便起见,有DISPATCH_TIME_NOW和DISPATC...阅读全文

博文 2019-05-24 17:34:41 Nonsense_biubiu

BC 34# 1001 Go to movies

简单的模拟 #include #include #include using namespace std; int a[105], b[105], f[105]; bool cmp(int a, int b) { return a < b; } int main() { // freopen("E:\input.txt", "r", stdin); int m, n; int i, flag; int res; while ((scanf("%d%d", &n, &m)) != EOF) { flag = 1; res = f[0]; if (n == 1) { flag = 0; } for (i = 1; i <= m; i++...阅读全文

博文 2015-12-22 04:00:00 u014265347

大数加一,16进制,除了模拟还有什么好的方法了吗??

模拟代码