Вопросы
Можно ли одновременно изменять разные элементы среза?
У меня есть срез, который содержит задачи, которые нужно выполнить, и срез, который будет содержать результаты после завершения всех задач. Вот общее описание моего процесса:
var results = make([]Result, len(jobs))
wg := sync.WaitGroup{}
for i, job := range jobs {
wg.Add(1)
go func(i...
Распределённый контроль параллелизма
Я работал над этой проблемой уже несколько дней и нашел несколько решений, но ни одно из них не кажется особенно простым или легковесным. Проблема заключается в следующем: у нас есть кластер из 10 машин, каждая из которых работает с одинаковым программным обеспечением на многопоточном...
Как можно повторно использовать пул потоков после его завершения?
Описание проблемы
Я работаю с файлом .csv, который содержит более 70 миллионов строк. Каждая строка должна генерировать объект Runnable
, который затем будет выполняться пулом потоков. Этот Runnable
будет вставлять запись в базу данных MySQL.
Дополнительно, я хочу сохранять позицию в файле...
В чем разница между использованием synchronized на lockObject и использованием this как блокировки?
Я знаю разницу между синхронизированным методом и синхронизированным блоком, но не уверен относительно части с синхронизированным блоком.
Предположим, у меня есть следующий код:
class Test {
private int x = 0;
private Object lockObject = new Object();
public void incBlock() {
...
Когда следует использовать поток Java вместо Executor?
Executor выглядит как чистая абстракция для управления потоками. В каких ситуациях имеет смысл использовать Thread напрямую, вместо того чтобы полагаться на более надежный Executor?
Гарантирован ли однопоточный характер JavaScript?
JavaScript известен тем, что является однопоточным во всех современных реализациях браузеров. Однако, задействована ли эта характеристика в каких-либо стандартах, или это просто традиция? Можно ли с уверенностью утверждать, что JavaScript всегда будет однопоточным?
Почему нет ConcurrentHashSet, если есть ConcurrentHashMap?
Я столкнулся с проблемой, связанной с использованием HashSet
и его зависимостью от HashMap
.
Как мы знаем, реализация HashSet
фактически управляется через HashMap
, где `` используется в качестве ключа. Однако HashMap
не является потокобезопасным, именно поэтому в Java существует...