| connection_id,github_id,repo_id,number,state,title,body,priority,type,author_id,author_name,assignee_id,assignee_name,milestone_id,lead_time_minutes,url,closed_at,github_created_at,github_updated_at,severity,component,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark |
| 1,346842831,134018330,5,closed, chinese <-p.freeSignal chinese ,"""Hi,\r\n chinese , chinese `<-p.freeSignal` chinese 。 chinese ,freeSignal chinese , chinese `putWorker` chinese `p.freeSignal <- sig{}`\r\n\r\n chinese \r\n```\r\nfunc (p *Pool) getWorker() *Worker {\r\n\tvar w *Worker\r\n\twaiting := false\r\n\r\n\tp.lock.Lock()\r\n\tidleWorkers := p.workers\r\n\tn := len(idleWorkers) - 1\r\n\tif n < 0 { // chinese pool chinese worker chinese \r\n\t\twaiting = p.Running() >= p.Cap()\r\n\t} else { // chinese pool chinese worker\r\n\t\t<-p.freeSignal \r\n\t\tw = idleWorkers[n] \r\n\t\tidleWorkers[n] = nil\r\n\t\tp.workers = idleWorkers[:n]\r\n\t}\r\n\tp.lock.Unlock()\r\n\r\n\r\nfunc (p *Pool) Release() error {\r\n\tp.once.Do(func() { // chinese \r\n\t\tp.release <- sig{}\r\n\t\tp.lock.Lock()\r\n\t\tidleWorkers := p.workers\r\n\t\tfor i, w := range idleWorkers {\r\n\t\t\t<-p.freeSignal\r\n\t\t\tw.task <- nil\r\n\t\t\tidleWorkers[i] = nil\r\n\t\t}\r\n\t\tp.workers = nil\r\n\t\tp.lock.Unlock()\r\n\t})\r\n\treturn nil\r\n}\r\n\r\n```\r\n\r\n chinese `<-p.freeSignal`, chinese putWorker chinese ? chinese putWorker chinese , chinese , chinese idleWorkers chinese worker chinese \r\n\r\n chinese ? chinese """,,,8605102,pathbox,0,,7856149,2182,https://github.com/panjf2000/ants/issues/5,2018-08-03T15:32:00.000+00:00,2018-08-02T03:09:57.000+00:00,2018-08-10T04:06:36.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,11, |
| 1,347255859,134018330,6,closed, chinese bug,"""func (p *Pool) getWorker() *Worker chinese 199 chinese \r\n chinese , chinese \r\n\r\n\tp.lock.Unlock()\r\n\t\t<-p.freeSignal\r\n\t\tp.lock.Lock()""",,bug,13118848,lovelly,0,,7856149,1786,https://github.com/panjf2000/ants/issues/6,2018-08-04T10:18:41.000+00:00,2018-08-03T04:32:28.000+00:00,2018-08-04T10:18:41.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,12, |
| 1,348630179,134018330,7,closed, chinese ,""" chinese , chinese 。 chinese ants chinese , chinese 。 chinese \r\n\r\n chinese periodicallyPurge chinese \r\n\r\n\r\n### chinese \r\n\r\n chinese n==0 chinese \r\n```\r\nif n > 0 {\r\n\tn++\r\n\tp.workers = idleWorkers[n:]\r\n}\r\n```\r\n\r\n\r\n### chinese \r\n```\r\npackage main\r\n\r\nimport (\r\n\t\""github.com/panjf2000/ants\""\r\n\t\""fmt\""\r\n\t\""time\""\r\n\t\""strconv\""\r\n)\r\n\r\nfunc main() {\r\n\r\n\tpool,err := ants.NewPool(100000)\r\n\r\n\tif err != nil {\r\n\t\tpanic(err)\r\n\t}\r\n\r\n\tfor i:=0;i<10000;i++{\r\n\t\tpool.Submit(\r\n\t\t\tfunc() error {\r\n\t\t\t\ttime.Sleep(1 * time.Millisecond)\r\n\t\t\t\tfmt.Println(strconv.Itoa(i))\r\n\t\t\t\treturn nil\r\n\t\t\t})\r\n\t}\r\n\r\n\tfor{\r\n\t\tpool.Submit(\r\n\t\t\tfunc() error {\r\n\t\t\t\ttime.Sleep(10 * time.Millisecond)\r\n\t\t\treturn nil\r\n\t\t})\r\n\t\ttime.Sleep(1 * time.Millisecond)\r\n\t}\r\n}\r\n```""",,bug,4555057,huiwq1990,0,,7856149,2602,https://github.com/panjf2000/ants/issues/7,2018-08-10T04:06:04.000+00:00,2018-08-08T08:43:15.000+00:00,2018-08-10T04:06:04.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,13, |
| 1,356703393,134018330,10,closed, chinese worker chinese ,""" chinese cpu chinese ?""",,,11763614,Moonlight-Zhao,0,,7856149,36198,https://github.com/panjf2000/ants/issues/10,2018-09-29T11:45:00.000+00:00,2018-09-04T08:26:55.000+00:00,2018-09-29T11:45:00.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,16, |
| 1,364361014,134018330,12,closed, chinese , chinese tag chinese ,""" chinese dep chinese , chinese ants chinese , chinese tag chinese 。 chinese tag 3.6 chinese ed55924 chinese ,git chinese af376f1b chinese , chinese 5 chinese , chinese , chinese tag chinese 。( chinese )""",,,29452204,edcismybrother,0,,7856149,1293,https://github.com/panjf2000/ants/issues/12,2018-09-28T06:05:58.000+00:00,2018-09-27T08:32:25.000+00:00,2019-04-21T08:19:58.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,18, |
| 1,381941219,134018330,17,closed, chinese ,""" chinese package chinese , chinese Release chinese :\r\n\r\n`\r\n\t// Release Closed this pool.\r\n\tfunc (p *PoolWithFunc) Release() error {\r\n\t\tp.once.Do(func() {\r\n\t\t\tp.release <- sig{}\r\n\t\t\tp.lock.Lock()\r\n\t\t\tidleWorkers := p.workers\r\n\t\t\tfor i, w := range idleWorkers {\r\n\t\t\t\tw.args <- nil\r\n\t\t\t\tidleWorkers[i] = nil\r\n\t\t\t}\r\n\t\t\tp.workers = nil\r\n\t\t\tp.lock.Unlock()\r\n\t\t})\r\n\t\treturn nil\r\n\t}\r\n`\r\n\r\nrelease chinese , chinese worker chinese ?\r\n chinese worker\r\n\r\n chinese ,release chinese worker chinese \r\n\r\n chinese :\r\n\r\nReSize(0) \r\n\r\n chinese ?\r\n""",,,7931755,zplzpl,0,,7856149,103594,https://github.com/panjf2000/ants/issues/17,2019-01-29T07:24:37.000+00:00,2018-11-18T08:50:31.000+00:00,2019-01-29T07:24:37.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,23, |
| 1,382039050,134018330,18,closed,go chinese ,""" chinese , chinese , chinese go chinese , chinese , chinese 。\"" chinese : GOMAXPROCS sets the maximum number of CPUs that can be executing simultaneously。 chinese cpu chinese , chinese , chinese ?, chinese ?, chinese ?, chinese ?\""""",,,13944100,LinuxForYQH,0,,7856149,20213,https://github.com/panjf2000/ants/issues/18,2018-12-03T03:53:50.000+00:00,2018-11-19T02:59:53.000+00:00,2018-12-03T03:53:50.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,24, |
| 1,382574800,134018330,20,closed, chinese ,"""#""",,,5668717,kklinan,0,,7856149,95398,https://github.com/panjf2000/ants/issues/20,2019-01-25T15:34:03.000+00:00,2018-11-20T09:36:02.000+00:00,2019-01-25T15:34:03.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,26, |
| 1,388907811,134018330,21,closed,Benchmark chinese Semaphore chinese ?,""" chinese benchmark,Semaphore chinese \r\n\r\n```bash\r\n$ go test -bench .\r\ngoos: darwin\r\ngoarch: amd64\r\npkg: github.com/panjf2000/ants\r\nBenchmarkGoroutineWithFunc-4 \t 1\t3445631705 ns/op\r\nBenchmarkSemaphoreWithFunc-4 \t 1\t1037219073 ns/op\r\nBenchmarkAntsPoolWithFunc-4 \t 1\t1138053222 ns/op\r\nBenchmarkGoroutine-4 \t 2\t 731850771 ns/op\r\nBenchmarkSemaphore-4 \t 2\t 914855967 ns/op\r\nBenchmarkAntsPool-4 \t 1\t1094379445 ns/op\r\nPASS\r\nok \tgithub.com/panjf2000/ants\t33.173s\r\n```\r\n chinese Ants chinese ?""",,,720086,huangjunwen,0,,7856149,8392,https://github.com/panjf2000/ants/issues/21,2018-12-14T06:01:07.000+00:00,2018-12-08T10:08:17.000+00:00,2018-12-14T06:01:07.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,27, |
| 1,401277739,134018330,22,closed, chinese worker chinese PanicHandler ?,""" chinese Pool chinese PanicHandler, chinese worker chinese recover chinese PanicHandler chinese 。 chinese panic chinese 。""",,,8923413,choleraehyq,0,,7856149,1174,https://github.com/panjf2000/ants/issues/22,2019-01-22T05:41:34.000+00:00,2019-01-21T10:06:56.000+00:00,2019-01-22T05:41:34.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,28, |
| 1,402513849,134018330,24,closed, chinese ,"""`Pool.Submit` chinese `PoolWithFunc.Server` chinese , chinese worker, chinese 。 chinese , chinese 。""",,,5044825,tenfyzhong,0,,7856149,300032,https://github.com/panjf2000/ants/issues/24,2019-08-20T10:56:30.000+00:00,2019-01-24T02:24:13.000+00:00,2019-08-20T10:56:30.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,30, |
| 1,405951301,134018330,25,closed,use example errors,"""./antstest.go:37:14: cannot use syncCalculateSum (type func()) as type ants.f in argument to ants.Submit\r\n./antstest.go:45:35: cannot use func literal (type func(interface {})) as type ants.pf in argument to ants.NewPoolWithFunc\r\n""",,,5244267,jiashiwen,0,,7856149,3088,https://github.com/panjf2000/ants/issues/25,2019-02-04T09:11:52.000+00:00,2019-02-02T05:43:38.000+00:00,2019-02-04T09:11:52.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,31, |
| 1,413968505,134018330,26,closed,running chinese cap chinese ,"""running chinese cap chinese incRuning chinese , chinese running chinese cap chinese ?\r\n`func (p *Pool) retrieveWorker() *Worker {\r\n\tvar w *Worker\r\n\r\n\tp.lock.Lock()\r\n\tidleWorkers := p.workers\r\n\tn := len(idleWorkers) - 1\r\n\tif n >= 0 {\r\n\t\tw = idleWorkers[n]\r\n\t\tidleWorkers[n] = nil\r\n\t\tp.workers = idleWorkers[:n]\r\n\t\tp.lock.Unlock()\r\n\t} else if p.Running() < p.Cap() {\r\n\t\tp.lock.Unlock()\r\n\t\tif cacheWorker := p.workerCache.Get(); cacheWorker != nil {\r\n\t\t\tw = cacheWorker.(*Worker)\r\n\t\t} else {\r\n\t\t\tw = &Worker{\r\n\t\t\t\tpool: p,\r\n\t\t\t\ttask: make(chan func(), workerChanCap),\r\n\t\t\t}\r\n\t\t}\r\n\t\tw.run()`""",,,10361713,Ainiroad,0,,7856149,21872,https://github.com/panjf2000/ants/issues/26,2019-03-12T12:01:57.000+00:00,2019-02-25T07:29:33.000+00:00,2019-03-12T12:01:57.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,32, |
| 1,419183961,134018330,27,closed, chinese goroutine chinese , chinese ,""" chinese goroutine chinese , chinese \r\n chinese ?\r\n\r\nwebsocket server\r\nhttps://github.com/im-ai/pushm/blob/master/learn/goroutine/goroutinepoolwebsocket.go\r\n\r\nwebsocket cient\r\nhttps://github.com/im-ai/pushm/blob/master/learn/goroutine/goroutinepoolwebsocketclient.go\r\n""",,,38367404,liliang8858,0,,7856149,37496,https://github.com/panjf2000/ants/issues/27,2019-04-05T14:05:20.000+00:00,2019-03-10T13:08:52.000+00:00,2019-04-05T14:05:20.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,33, |
| 1,419268851,134018330,28,closed,cap chinese running chinese ,""" chinese Playground chinese https://play.golang.org/p/D94YUU3FnX6\r\natomic chinese , chinese , chinese chinese , chinese chinese , chinese chinese , chinese \r\n chinese #26 chinese """,,,29243953,naiba,0,,7856149,237002,https://github.com/panjf2000/ants/issues/28,2019-08-22T16:27:37.000+00:00,2019-03-11T02:24:41.000+00:00,2019-08-22T16:27:37.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,34, |
| 1,424634533,134018330,29,closed, chinese ,""" chinese , chinese 👍\r\n\r\nhttps://github.com/panjf2000/ants/blob/master/pool.go#L124 chinese , chinese ?\r\n""",,,8509898,prprprus,0,,7856149,999,https://github.com/panjf2000/ants/issues/29,2019-03-25T09:32:11.000+00:00,2019-03-24T16:52:21.000+00:00,2019-03-25T09:45:05.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,35, |
| 1,429972115,134018330,31,closed,Add go.mod,"""""",,,48135919,tsatke,0,,7856149,3474,https://github.com/panjf2000/ants/issues/31,2019-04-08T09:45:31.000+00:00,2019-04-05T23:50:36.000+00:00,2019-10-17T03:12:19.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,37, |
| 1,433564955,134018330,32,closed, chinese , chinese (0.0.x) chinese ?,""" chinese , chinese 。\r\n\r\n chinese \r\n\r\n chinese , chinese 。""",,,7931755,zplzpl,0,,7856149,7440,https://github.com/panjf2000/ants/issues/32,2019-04-21T07:16:26.000+00:00,2019-04-16T03:16:02.000+00:00,2019-04-21T07:16:26.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,38, |
| 1,434069015,134018330,33,closed,support semantic versioning.,""" chinese tag chinese semantic versioning,vX.Y.Z。go modules chinese 。\r\nhttps://semver.org/\r\nhttps://research.swtch.com/vgo-import""",,,1284892,jjeffcaii,0,,7856149,6090,https://github.com/panjf2000/ants/issues/33,2019-04-21T08:25:20.000+00:00,2019-04-17T02:55:11.000+00:00,2019-04-21T08:25:20.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,39, |
| 1,435486645,134018330,34,closed,Important announcement about <ants> from author !!!,"""**Dear users of `ants`:**\r\nI am apologetically telling you that I have to dump all tags which already presents in `ants` repository.\r\n\r\nThe reason why I'm doing so is to standardize the version management with `Semantic Versioning`, which will make a formal and clear dependency management in go, for go modules, godep, or glide, etc. So I decide to start over the tag sequence, you could find more details in [Semantic Versioning](https://semver.org/) and [Semantic Import Versioning](https://research.swtch.com/vgo-import), related issue: #32, #33 (very thankful to @jjeffcaii and @zplzpl who provided the suggestions about it).\r\n\r\nI ought to apologize for the bothers brought by this change, the arch-criminal who leads to this issue would be my lack of concept about `Semantic Versioning`, I will spend more times learning the knowledge afterwards. \r\n\r\nOnce again, sorry for your costs in this change and thanks for your support to `ants`! \r\n\r\n*Have fun!*\r\n\r\n**Best regards,\r\nAndy Pan**\r\n""",,,7496278,panjf2000,0,,7856149,23484,https://github.com/panjf2000/ants/issues/34,2019-05-07T15:35:08.000+00:00,2019-04-21T08:10:28.000+00:00,2019-05-07T15:35:08.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,40, |
| 1,461280653,134018330,35,closed,worker exit on panic,""" chinese PanicHandler chinese 。\r\n1. chinese PanicHandler chinese , chinese panic, chinese 。\r\n2. chinese PanicHandler, chinese worker chinese , chinese pool chinese 。""",,,38849208,king526,0,,7856149,74481,https://github.com/panjf2000/ants/issues/35,2019-08-17T20:33:10.000+00:00,2019-06-27T03:11:49.000+00:00,2019-08-17T20:33:10.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,41, |
| 1,462631417,134018330,37,closed, chinese 。。。,""" chinese 3.9.9, chinese , chinese , chinese 1.0.0。 chinese 。 chinese """,,,8923413,choleraehyq,0,,7856149,140,https://github.com/panjf2000/ants/issues/37,2019-07-01T12:37:55.000+00:00,2019-07-01T10:17:15.000+00:00,2019-07-02T10:17:31.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,43, |
| 1,472125082,134018330,38,closed,retrieveWorker chinese revertWorker chinese ,"""func (p *Pool) retrieveWorker() *Worker {\r\n\tvar w *Worker\r\n\r\n\t**p.lock.Lock()**\r\n\tidleWorkers := p.workers\r\n\tn := len(idleWorkers) - 1\r\n\tif n >= 0 {\r\n\t\tw = idleWorkers[n]\r\n\t\tidleWorkers[n] = nil\r\n\t\tp.workers = idleWorkers[:n]\r\n\t\tp.lock.Unlock()\r\n\t} else if p.Running() < p.Cap() {\r\n\t\tp.lock.Unlock()\r\n\t\tif cacheWorker := p.workerCache.Get(); cacheWorker != nil {\r\n\t\t\tw = cacheWorker.(*Worker)\r\n\t\t} else {\r\n\t\t\tw = &Worker{\r\n\t\t\t\tpool: p,\r\n\t\t\t\ttask: make(chan func(), workerChanCap),\r\n\t\t\t}\r\n\t\t}\r\n\t\tw.run()\r\n\t} else {\r\n\t\tfor {\r\n\t\t\t**p.cond.Wait()** \r\n\t\t\tl := len(p.workers) - 1\r\n\t\t\tif l < 0 {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t\tw = p.workers[l]\r\n\t\t\tp.workers[l] = nil\r\n\t\t\tp.workers = p.workers[:l]\r\n\t\t\tbreak\r\n\t\t}\r\n\t\t**p.lock.Unlock()**\r\n\t}\r\n\treturn w\r\n}\r\n\r\n// revertWorker puts a worker back into free pool, recycling the goroutines.\r\nfunc (p *Pool) revertWorker(worker *Worker) bool {\r\n\tif CLOSED == atomic.LoadInt32(&p.release) {\r\n\t\treturn false\r\n\t}\r\n\tworker.recycleTime = time.Now()\r\n\t**p.lock.Lock()** // chinese \r\n\tp.workers = append(p.workers, worker)\r\n\t// Notify the invoker stuck in 'retrieveWorker()' of there is an available worker in the worker queue.\r\n\tp.cond.Signal()\r\n\t**p.lock.Unlock()**\r\n\treturn true\r\n}\r\n""",,,1290360,wwjiang,0,,7856149,67,https://github.com/panjf2000/ants/issues/38,2019-07-24T08:40:01.000+00:00,2019-07-24T07:32:58.000+00:00,2019-07-24T08:40:01.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,44, |
| 1,483164833,134018330,42,closed, chinese , chinese functional options chinese ,""" chinese \r\n chinese functional options, chinese \r\n```\r\nants.NewPool(10)\r\n```\r\n chinese , chinese option, chinese , chinese options chinese 。 chinese option, chinese \r\n```\r\nants.NewPool(10, ants.WithNonblocking(true))\r\n```\r\n chinese 。\r\n\r\n chinese Option chinese , chinese , chinese 。\r\n chinese functional options chinese rob pike chinese https://commandcenter.blogspot.com/2014/01/self-referential-functions-and-design.html""",,,8923413,choleraehyq,0,,7856149,732,https://github.com/panjf2000/ants/issues/42,2019-08-21T14:32:51.000+00:00,2019-08-21T02:20:08.000+00:00,2019-08-21T14:32:51.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,48, |
| 1,483736247,134018330,43,closed,1.3.0 chinese ,"""Pool chinese (PanicHandler chinese ) chinese , chinese , chinese 。""",,,8923413,choleraehyq,0,,7856149,652,https://github.com/panjf2000/ants/issues/43,2019-08-22T13:22:10.000+00:00,2019-08-22T02:29:34.000+00:00,2019-08-22T13:22:10.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,49, |
| 1,484311063,134018330,44,closed,1.1.1 -> 1.2.0 chinese ,"""Pool.Release chinese """,,,8923413,choleraehyq,0,,7856149,3068,https://github.com/panjf2000/ants/issues/44,2019-08-25T06:36:14.000+00:00,2019-08-23T03:27:38.000+00:00,2019-08-25T06:36:14.000+00:00,,,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_issues,50, |