You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
357 B
18 lines
357 B
package workerpool |
|
|
|
import "fmt" |
|
|
|
type Task struct { |
|
Err error |
|
Data interface{} |
|
f func(interface{}) error |
|
} |
|
|
|
func NewTask(f func(interface{}) error, data interface{}) *Task { |
|
return &Task{f: f, Data: data} |
|
} |
|
|
|
func process(workerID int, task *Task) { |
|
fmt.Println("Worker %d processes task %v\n", workerID, task.Data) |
|
task.Err = task.f(task.Data) |
|
}
|
|
|