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
mlock
함수에 대한 호출을 포함하도록 myFun
함수를 편집합니다.
function myFun() mlock persistent n if isempty(n) n = 0; end n = n+1 end
명령 프롬프트에서 myFun
함수를 세 번 호출합니다.
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 명령 창에 입력하십시오. 웹 브라우저는 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)