Итак, у меня есть некоторые потоки, где я бы хотел передать значение upvalue, называемое сбросом для каждого потока, каждый раз так часто, чтобы сбросить значения таблицы каждого потока. Затем я хочу отключить сброс до тех пор, пока таблица не закончит итерацию через свои партии. Однако я не имел успеха в отключении сброса (reset = false), похоже, не останавливает его от непрерывного сброса.Точки факела - Передача данных между основными и потоками один раз
for i = 1, n do
local reset = true
while true do
threads:addjob(
function()
if reset = true then f:reset(); reset = false; end
x,y = f:getBatch()
return x,y
end,
function(x,y)
-- do some stuff and trigger conditionMet = true if met
end
)
if conditionMet == true break end
end
end
является это загрузив значение __resetflag = верно для каждого потока? Кажется, мне кажется, что это можно выполнить для одного из потоков. – mattdns
Я только что положил сброс: addjob() в цикле, пока все они не будут сброшены. Это большое спасибо. – mattdns