mlock
防止从内存中清除函数或脚本
语法
说明
mlock
将锁定当前正在内存中运行的函数。锁定函数可以防止 clear
将其从内存中删除,并防止对文件中定义的任何 persistent
变量进行重新初始化。
仅在 MATLAB® 代码文件中使用 mlock
。
要从内存中删除锁定的函数或脚本,请先使用 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
函数。
扩展功能
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2006a 之前推出
另请参阅
mislocked
| munlock
| inmem
| persistent
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)