Skip to content

Commit d6e0897

Browse files
author
leikewei
committed
add worker design
1 parent 4c30a1f commit d6e0897

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

design/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,6 @@ lv.setAdapter(adapter);
132132
2. 定义一个optFunc实现Option接口
133133
3. 构造结构体时,接收可变类型的Option
134134
4. 遍历options,调用option中的设置参数方法
135+
136+
## 12. 工人列队模式(worker)
137+
> 自定义工人数量,高性能处理任务

design/worker/worker.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import "fmt"
55
// 工人模式
66
// 自定义工人数量,高效处理任务
77

8-
var JobQueue chan Job
8+
var JobQueue = make(chan Job, 1000)
99

1010
type Job struct {
1111
Content string
@@ -22,15 +22,16 @@ type Worker struct {
2222

2323
func NewWorker(workerPool chan chan Job) Worker {
2424
return Worker{
25-
// WorkerPool: workerPool,
26-
JobChan: make(chan Job),
27-
QuitChan: make(chan bool),
25+
WorkerPool: workerPool,
26+
JobChan: make(chan Job),
27+
QuitChan: make(chan bool),
2828
}
2929
}
3030

3131
func (w Worker) Start() {
3232
go func() {
3333
for {
34+
// 将当前 worker 注册到 worker 队列中。
3435
w.WorkerPool <- w.JobChan
3536
select {
3637
case job := <-w.JobChan:

0 commit comments

Comments
 (0)