mlock

Предотвратите очищающуюся функцию или скрипт из памяти

Синтаксис

Описание

пример

mlock блокирует в настоящее время рабочую функцию в памяти. Блокировка функции предотвращает clear от удаления его из памяти, и предотвращает реинициализацию любого persistent переменные заданы в файле.

Используйте mlock только в файле кода MATLAB®.

Чтобы удалить заблокированную функцию или скрипт из памяти, сначала разблокируйте его с помощью munlock команда, и затем использует clear команда.

Примеры

свернуть все

Создайте функциональный myFun в вашей текущей рабочей папке.

function myFun()
    persistent n
    if isempty(n)
        n = 0;
    end
    n = n+1
end

В командной строке вызовите myFun дважды. Каждый раз вы вызываете функцию, значение n увеличения, потому что это - persistent.

myFun
myFun
myFun
n =

     1


n =

     2


n =

     3

Очистите функцию и вызовите ее еще два раза. Очистка функции также очищает персистентную переменную.

clear myFun
myFun
myFun
n =

     1


n =

     2

Отредактируйте myFun функция, чтобы включать вызов mlock.

function myFun()
    mlock
    persistent n
    if isempty(n)
        n = 0;
    end
    n = n+1
end

В командной строке вызовите myFun 3 раза.

myFun
myFun
myFun
n =

     1


n =

     2


n =

     3

Попытайтесь очистить функцию и вызвать ее еще два раза. Начиная с myFun заблокирован, очищение функции не удаляет его из памяти и не очищает персистентную переменную.

clear myFun
myFun
myFun
n =

     4


n =

     5

Разблокируйте myFun таким образом, это может быть очищено из памяти.

munlock('myFun')

Советы

  • Чтобы заблокировать файл MEX, используйте mexLock функция.

Смотрите также

| | |

Представлено до R2006a