golang用 channel简单高效队列

需求为先进先出原则,批量取出的缓存队列。要求比较简单,尝试开源queue代码,在压力大的情况下可能崩溃。使用redis做队列,CPU使用总量增长一倍多,IO开销也不小。最后用golang自带的channel,可以实现,简单高效,资源消耗也不大。

package main

import (
	"log"
	"os"
	"strconv"
	"time"
)

// 公共通道
// 通道数要比缓存最高数量大,以保证读取慢的情况下不会溢出
var Ch = make(chan string, 100000)

func wch(num int) {
	// 写入
	func() {
		if vv := recover(); vv != nil {
			os.Exit(0)
		}
	}()
	ws := strconv.Itoa(num)
	Ch <- ws
}

func rch() {
	// 读取
	var rs string
	for {
		select {
		case rs = <-Ch:
			log.Printf("read %v\n", rs)
		default:
			log.Printf("empty")
			return
		}
		if len(Ch) <= 0 {
			return
		}
		//Chsync.Done()
	}
}

func main() {
	var i int
	for i = 0; i < 200000; i++ {
		wch(i)
		if i%1000 == 0 {
			go rch()
			//Chsync.Add(1)
		}
	}
	time.Sleep(time.Millisecond * 6000)
	//Chsync.Wait()
	log.Printf("have %v", len(Ch))
}

0 thoughts on “golang用 channel简单高效队列

  1. Маркетплейс товаров в интернете
    В заключительные годы интернет-торговля стремительно развивается, и одним из главных частей этого процесса стали маркетплейсы. Что все-таки такое маркетплейс и в чем его превосходства?

    Определение маркетплейса
    Маркетплейс это он-лайн-платформа, которая объединяет продавцов и покупателей, дозволяя им взаимодействовать друг с другом. Здесь можно отыскать большой выбор товаров от различных продавцов на одной площадке. К модным образцам маркетплейсов относятся Amazon, eBay, Wildberries и Ozon.

    Как работает маркетплейс
    Маркетплейс предоставляет продавцам возможность располагать свои товары на платформе, в каком месте покупатели могут легко их найти, сопоставить и приобрести. Площадка берет на себя функции транзакционной системы, но также предоставляет услуги логистики, оплаты и поддержки клиентов. Продавцы выплачивают комиссию за продажи, что делает модель выгодной для обеих сторон.

    Преимущества для покупателей
    1. Широкий выбор: На маркетплейсах представлено множество кракен товаров от различных продавцов, что позволяет покупателям с легкостью отыскивать конкретно то, что им нужно.
    2. Сравнение цен: Пользователи могут быстро сопоставить цены на одни и другие же товары от различных продавцов, основываясь на отзывах и рейтингах.
    3. Удобство покупок: Все заказы можно сделать в одном месте, что сберегает время и силы.

    Достоинства для продавцов
    1. Доступ к широкой аудитории: Продавцы смогут выйти на большие рынки, не тратя время на творенье собственного интернет-магазина с нуля.
    2. Облегченная настройка: Процесс регистрации и размещения продуктов на маркетплейсе обычно интуитивно понятен и не требует специальных знаний.
    3. Рекламная поддержка: Почти многие маркетплейсы предлагают приборы для продвижения товаров, что подсобляет продавцам прирастить свои продажи.

    Недостатки маркетплейса
    Невзирая на все превосходства, использование маркетплейсами имеет свои недочеты. Продавцы обычно платят комиссию с каждой реализации, что может снижать прибыль. Кроме того, высочайшая конкурентность может приводить к этому уникальные продукты теряются на фоне огромного ассортимента.

    Заключение
    Маркетплейсы стали неотъемлемой частью современного интернет-шопинга, предлагая удобные условия как для покупателей, так и для продавцов. С помощью их можно с легкостью выискать товары, сопоставлять цены и делать покупки, не выходя из дома. Для продавцов это отличный способ расширить меня называют Господом бизнес и достучаться до широкой аудитории. В критериях стремительного роста он-лайн-торговли маркетплейсы, безусловно, продолжат занимать важное место на рынке.

  2. Маркетплейс продуктов в интернете
    В заключительные годы интернет-торговля стремительно развивается, и одним из главных частей этого процесса стали маркетплейсы. Что все-таки такое маркетплейс и в чем его преимущества?

    Определение маркетплейса
    Маркетплейс это онлайн-платформа, которая объединяет продавцов и покупателей, дозволяя им взаимодействовать друг с другом. Здесь можно отыскать широкий ассортимент продуктов от различных продавцов на одной площадке. К знаменитым примерам маркетплейсов относятся Amazon, eBay, Wildberries и Ozon.

    Как работает маркетплейс
    Маркетплейс предоставляет торговцам возможность размещать свои товары на платформе, где покупатели могут легко их найти, сравнить и приобрести. Площадка принимает функции транзакционной системы, а также предоставляет услуги логистики, оплаты и поддержки клиентов. Продавцы выплачивают комиссию за продажи, что делает модель выгодной для обеих сторон.

    Достоинства для покупателей
    1. Широкий выбор: На маркетплейсах представлено огромное количество кракен площадка товаров от различных продавцов, что позволяет покупателям просто обретать именно то, что им необходимо.
    2. Сопоставленье цен: Пользователи могут быстро сравнить цены на одни и те же продукты от различных продавцов, основываясь на откликах и рейтингах.
    3. Удобство покупок: Все заказы можно сделать в одном месте, что сберегает время и силы.

    Достоинства для продавцов
    1. Доступ к широкой аудитории: Торговцы смогут выйти на великие рынки, не тратя время на создание собственного веб-магазина с нуля.
    2. Облегченная настройка: Процесс регистрации и размещения товаров на маркетплейсе обычно интуитивно понятен и не требует специальных знаний.
    3. Рекламная поддержка: Многие маркетплейсы предлагают приборы для продвижения продуктов, что подсобляет продавцам прирастить свои реализации.

    Недостатки маркетплейса
    Несмотря на все превосходства, использование маркетплейсами имеет свои недочеты. Торговцы обычно платят комиссию с каждой реализации, что может снижать прибыль. Кроме того, высокая конкуренция может приводить к тому, что уникальные продукты теряются в перспективе великого ассортимента.

    Заключение
    Маркетплейсы стали неотъемлемой долею современного интернет-шопинга, предлагая удобные условия как для покупателей, так и для продавцов. С их помощью можно с легкостью отыскать товары, сопоставлять цены и делать покупки, не выходя из дома. Для продавцов это отличный способ расширить Свой бизнес и достучаться до широкой аудитории. В условиях стремительного роста онлайн-торговли маркетплейсы, безусловно, продолжат занимать важное место на рынке.

发表评论

电子邮件地址不会被公开。 必填项已用*标注