1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/uero-workqueue-go

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 1.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 08:02 8d60469

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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/uero-workqueue-go.git
git@api.gitlife.ru:oschina-mirror/uero-workqueue-go.git
oschina-mirror
uero-workqueue-go
uero-workqueue-go
master