workqueue-go
Простая реализация workqueue на языке Go, подобная workqueue в ядре Linux.
Использование
Получите исходный код:
go get github.com/Ishukone/workqueue-go
Пример кода:
package main
import (
"fmt"
"github.com/Ishukone/workqueue-go"
)
func greeting(work *workqueue.Work) {
fmt.Printf("hello, %s\n", work.Data)
}
func main() {
wq := workqueue.CreateWorkQueue(4)
var greet string
for {
fmt.Scan(&greet)
work := new(workqueue.Work)
work.Data = greet
work.Action = greeting
wq.ScheduleWork(work)
}
}
Скомпилируйте:
go build
Протестируйте: Запустите скомпилированную программу и введите несколько имён в командной строке, разделяя их пробелами. После ввода каждого имени нажимайте Enter. Каждое имя будет преобразовано в work, который будет запланирован для обработки workqueue.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )