Возможный дубликат:
How do you handle resources in MATLAB in an exception safe manner? (like "try … finally" )
Я использую набор инструментов параллельных вычислений Matlab следующим образом:
matlabpool open
parfor …
matlabpool close
Если ошибка возникает в parfor
, программа завершается, а matlabpool не закрывается. Когда я исправляю ошибку и запускаю ее снова, matlabpool open
терпит неудачу, потому что она уже открыта. Поэтому мне нужно закрыть его вручную, что я всегда забываю. Идеальный способ - изменить его на (псевдокод):
matlabpool open
try
parfor …
finally
matlabpool close
end
Есть ли какая-нибудь лучшая практика для этого?