Size: a a a

2020 May 19

CV

Captain Jack Vielfra... in archlinux_ru
2к потоков
источник

CV

Captain Jack Vielfra... in archlinux_ru
источник

A

Andrew in archlinux_ru
Без кода гадать бессмысленно
источник

I

Ivan in archlinux_ru
Andrew
Без кода гадать бессмысленно
USE YOUR IMAGINATION
источник

CV

Captain Jack Vielfra... in archlinux_ru
Andrew
Без кода гадать бессмысленно
источник

A

Andrew in archlinux_ru
источник

I

Ivan in archlinux_ru
источник

A

Andrew in archlinux_ru
func (box *MyBox) AddItem(item Info) не потокобезопасно написан, соответственно половину результатов вообще не получишь из-за состояния гонки.
источник

CV

Captain Jack Vielfra... in archlinux_ru
Andrew
func (box *MyBox) AddItem(item Info) не потокобезопасно написан, соответственно половину результатов вообще не получишь из-за состояния гонки.
источник

CV

Captain Jack Vielfra... in archlinux_ru
А как мне добавить все в одну структуру?
источник

A

Andrew in archlinux_ru
req := fasthttp.AcquireRequest()
Запрос создаётся не в каждом потоке, а используется один(!) на все потоки - в итоге предположу, что опять либо гонка, либо выполняется одинаковый запрос для всех потоков
источник

CV

Captain Jack Vielfra... in archlinux_ru
Andrew
req := fasthttp.AcquireRequest()
Запрос создаётся не в каждом потоке, а используется один(!) на все потоки - в итоге предположу, что опять либо гонка, либо выполняется одинаковый запрос для всех потоков
Убрал ее внутрь цикла. Чет кпу простаивает всеравно
источник

A

Andrew in archlinux_ru
Captain Jack Vielfrass
Убрал ее внутрь цикла. Чет кпу простаивает всеравно
fmt.Println(i) сделай внутри go func(i int) и убедись, что прога у тебя в один поток работает ))
источник

CV

Captain Jack Vielfra... in archlinux_ru
Стоп. Или ее в потоке новом надо создавать
источник

CV

Captain Jack Vielfra... in archlinux_ru
Andrew
fmt.Println(i) сделай внутри go func(i int) и убедись, что прога у тебя в один поток работает ))
источник

CV

Captain Jack Vielfra... in archlinux_ru
Andrew
fmt.Println(i) сделай внутри go func(i int) и убедись, что прога у тебя в один поток работает ))
Почему так?
источник

I

Ivan in archlinux_ru
Andrew
fmt.Println(i) сделай внутри go func(i int) и убедись, что прога у тебя в один поток работает ))
ты что падавана взял?
источник

A

Andrew in archlinux_ru
Captain Jack Vielfrass
Почему так?
Короче косяк в wg.Wait(). Его нужно вынести за цикл for i := 0; i < 10000; i++ { - потому что в твоём варианте программа дожидается, пока каждый поток завершится (прежде чем запускать следующий). А тебе надо дожидаться, когда все закончатся.
источник

A

Andrew in archlinux_ru
С ситуацией гонки не уверен, проверишь сам, когда починишь прогу для работы в несколько потоков.
источник

CV

Captain Jack Vielfra... in archlinux_ru
вынес.чет тут не так
источник