MATLAB 帮助中心
防止从内存中清除函数或脚本
mlock
mlock 将锁定当前正在内存中运行的函数。锁定函数可以防止 clear 将其从内存中删除,并防止对文件中定义的任何 persistent 变量进行重新初始化。
clear
persistent
仅在 MATLAB® 代码文件中使用 mlock。
要从内存中删除锁定的函数或脚本,请先使用 munlock 命令将其解锁,然后使用 clear 命令。
munlock
示例
全部折叠
在当前工作文件夹中创建 myFun 函数。
myFun
function myFun() persistent n if isempty(n) n = 0; end n = n+1 end
在命令提示符下,调用两次 myFun。每次调用该函数时,n 的值都会增加,因为它是 persistent。
n
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 已锁定,清除该函数不会将其从内存中删除,也不会清除持久变量。
n = 4 n = 5
解锁 myFun,以便可以从内存中清除它。
munlock('myFun')
要锁定 MEX 文件,请使用 mexLock 函数。
mexLock
全部展开
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
在 R2006a 之前推出
mislocked | munlock | inmem | persistent
mislocked
inmem
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处