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