125 Commits

Author SHA1 Message Date
Andy Pan
1c534853c8 Support unlimited pool
Fixes #90
2020-05-08 23:24:26 +08:00
Andy Pan
e507ae340f Support customized logger 2020-03-13 00:02:19 +08:00
l
d8cb036198
Fix a bug that doesn't release lock (#79) 2020-02-26 11:15:02 +08:00
Andy Pan
d32d668565 Add a feature of rebooting a released pool 2020-01-16 23:45:15 +08:00
Andy Pan
3bfc4f2ebd sync.Pool opt 2019-10-24 22:32:12 +08:00
Andy Pan
7aaa4349f5 Optimize loop queue of workers 2019-10-20 18:38:11 +08:00
Andy Pan
52b301019a Fix typos and add comments 2019-10-15 14:50:38 +08:00
Andy Pan
5ecbdf4bf2 Make optimization to Pool and PoolWithFunc struct 2019-10-10 22:28:21 +08:00
Andy Pan
566511ec5f Refactoring to the interface and implementations of worker-array 2019-10-10 03:02:04 +08:00
Kevin Bai
f0e23928f4 add loop queue (#53)
* add loop queue

* add loop queue

* fix the bugs

add loop queue

move the worker queue to directory

按照新的接口实现 lifo 队列

添加新接口的环形队列实现

rename the slice queue

修复了 unlock

使用 queue 管理 goWorkerWithFunc

使用 dequeue 判断队列

add remainder

增加测试文件

循环队列需要一个空闲位

* remove interface{}

* Refine the logic of sync.Pool

* Add flowcharts of ants into READMEs

* Add the installation about ants v2

* Renew the functional options in READMEs

* Renew English and Chinese flowcharts

* rename package name

移动 worker queue 位置

worker queue 都修改为私有接口

考虑到性能问题,把 interface{} 改回到  *goworker

* 修改 releaseExpiry 和 releaseAll

* remove files

* fix some bug
2019-10-10 00:59:19 +08:00
Andy Pan
b1cf2ff445 Refine the logic of sync.Pool 2019-10-06 02:02:40 +08:00
Andy Pan
b0ec5102cc Refactoring 2019-10-04 11:24:13 +08:00
Andy Pan
e73db1d7d2 Replace mutex with spin-lock 2019-09-27 20:51:46 +08:00
Andy Pan
89644d035c Remove some useless code 2019-09-03 09:29:26 +08:00
Andy Pan
44aec9954f A little bit of optimization in periodicallyPurge() 2019-08-25 17:41:49 +08:00
Andy Pan
cbf8ddf048 Fixed #45 and Releasing v2 module 2019-08-25 14:26:14 +08:00
Andy Pan
201ac20358 Add functional options pattern for ants 2019-08-25 14:14:18 +08:00
Andy Pan
d1b4e8b163 🍻Refine the Pool.Release() Method 2019-08-25 14:14:18 +08:00
Cholerae Hu
444711e79f support nonblocking submit and max blocking limit setting
Signed-off-by: Cholerae Hu <choleraehyq@gmail.com>
2019-08-25 14:14:18 +08:00
Andy Pan
08d01b6b48 🎏Fix a bug where invokers get stuck in waiting idle workers 2019-08-18 04:15:21 +08:00
Andy Pan
af70ed0660 🎏Fix a bug where invokers get stuck in waiting idle workers 2019-08-18 02:45:32 +08:00
Andy Pan
61660e2109 📚Refactor the blocking logic in retrieveWorker function 2019-07-27 13:08:09 +08:00
Andy Pan
51c0008356 🐞Fix a bug that blocks getting worker from pool 2019-07-27 12:05:44 +08:00
Andy Pan
71faec8c1a ☄️Rename the function with the more applicable name 2019-07-26 23:52:05 +08:00
anteoy
3e1c7a03a5 optimize memory allocation and add the log of panic stack 2019-07-26 23:22:24 +08:00
Andy Pan
9eb91a4ae0 📝Optimize the logic when cleaning up expired workers 2019-07-26 14:14:58 +08:00
markjiang
21a109c7f0 优化清理速度并修复内存泄漏 2019-07-26 12:00:11 +08:00
Andy Pan
d6076c09aa 🙄 Improvement in periodicallyPurge 2019-04-14 11:30:19 +08:00
Andy Pan
00294fd50b 😏 Optimization of the structure and style 2019-04-14 11:08:06 +08:00
Andy Pan
05fbdb8d5b 🎭 Fix race error 2019-04-14 11:08:06 +08:00
Andy Pan
aa7dd6f8cc 🦖 Develop a more graceful release 2019-04-14 11:08:06 +08:00
Andy Pan
15507b021f 🚀 Support not only anonymous but also explicit functions 2019-02-02 10:36:40 +08:00
Andy Pan
91377c898b 🦅 Fix a bug when using sync.Pool 2019-01-27 05:10:13 +08:00
Andy Pan
5c666692e9 🐬 Code logic improvement in pool.retrieveWorker 2019-01-27 04:25:36 +08:00
Andy Pan
689d74c63b Refactor about the synchronous lock 2019-01-27 04:05:58 +08:00
Andy Pan
908553139c 🐬 Performance improvement: use sync.Pool to cache active workers 2019-01-27 00:26:24 +08:00
Andy Pan
90f672b9d5 update 2019-01-26 21:45:49 +08:00
Andy Pan
f8d71bb276 🐯 Refactor variable "release" with atomic operation 2019-01-26 15:29:05 +08:00
Andy Pan
b091435432 🐲 An optimization in worker channel 2019-01-26 14:32:12 +08:00
Andy Pan
c829c6f622 🐶 Replace the type of variable "release" with bool type 2019-01-26 13:45:00 +08:00
Andy Pan
096e6f1513 🦁 Fix the bug in function "Submit()" 2019-01-26 13:16:35 +08:00
Andy Pan
d3bcc5d10b 🐳 Use the nil of chan to indicate the pool closed or not 2019-01-26 12:26:26 +08:00
Andy Pan
65b3ac9ff7 🐉 Optimize code comments 2019-01-25 22:01:11 +08:00
Cholerae Hu
9158bd3702 feature: add PanicHandler
Signed-off-by: Cholerae Hu <choleraehyq@gmail.com>
2019-01-22 13:41:33 +08:00
Andy Pan
4320708756 supplement annotations 2018-12-07 01:11:54 +08:00
Andy Pan
639f55c4c9
Merge pull request #19 from zplzpl/hotfix/tickerStop
Possible memory leak because of Ticker
2018-12-01 23:49:31 +08:00
Andy Pan
d8c168b198 remove useless return value from pool function 2018-12-01 19:22:05 +08:00
Andy Pan
d052cf95e1 add some annotations 2018-12-01 18:41:42 +08:00
unknown
e7bacd0f12 Possible memory leak because of Ticker 2018-11-19 10:57:53 +08:00
SimePel
d9eac77ae5 remove meaningless if 2018-10-01 19:45:21 +07:00