Публикации по теме 'concurrency'


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

Язык программирования Go: что и почему
В то огромное количество свободного времени, которое у меня (не было), я изучал язык программирования Go. Я, конечно, немного опаздываю на вечеринку, поскольку этот язык существует с 2009 года, но его популярность неуклонно растет, и я слышал о нем во многих контекстах за последние пару лет, что побудило меня преодолеть мою инерцию. Мои поиски подсказывают, что Go действительно мощный современный язык, богатый функциями, которые важны для событийно-ориентированного параллельного..

Сделки, вероятно, не так просты, как вы думаете
Транзакции выполняются одновременно, даже на уровне сериализуемой изоляции. Многие разработчики ошибочно предполагают, что транзакции выполняются одна за другой, и это приводит к ошибкам. Распространенная задача манипулирования данными заключается в следующем: выполнить обновление, если запись с таким же ключом уже существует, иначе вставить новую запись - классическая проблема «upsert». Когда два или более сеанса пытаются сделать это одновременно, могут возникнуть конфликты. Мы..

Как замедлить выполнение обещаний в javascript
Как замедлить выполнение обещаний в javascript Если вам нужно перебрать массив и сделать веб-запрос для каждого объекта в массиве, вы можете сделать это следующим образом: Что ж, проблема в том, что если в вашем массиве много членов, все эти запросы будут попадать на сервер одновременно. Итак, нам нужно найти способ не запускать все одновременно. Дополнительная проблема заключается в том, что обещание начинает выполняться в момент его создания. Пора искать решение: Первым,..

Диапазон каналов в Go
Диапазон каналов в Go Обычно в качестве типа выражения можно увидеть предложение диапазона с массивом, фрагментом, строкой или картой: m := make(map[string]float64) m["oneone"] = 1.1 m["twotwo"] = 2.2 for key, value := range m { fmt.Printf("[%s]: %.1f\n", key, value) } a := [3]int{3, 2, 1} for idx, value := range a { fmt.Printf("[%d]: %d\n", idx, value) } s := []int{30, 20, 10} for idx, value := range s { fmt.Printf("[%d]:..