编者按:这个文件被选为MATLAB中心本周精选
如今,Matlab是多线程的,但大多数MEX文件仍然是单线程的。这是一个简单的用于MEX文件多线程的c-code示例。
mex函数"y = square(x)"是用c-code编写的,并启动2个工作线程。第一个工作线程将对偶数输入索引x[0] x[2]的所有值进行平方。X [n]和第二个worker线程所有奇数索引X [1] X [3] ..x [n]。还演示了使用互斥锁锁定百分比变量的线程安全性。
的例子,
墨西哥人square.c - v;
Y =平方([1 2 3 4 5 6 7 8 9])
注意:
该函数使用
此示例在Windows Vista 64和Visual Studio 2008编译器以及(默认)LCC编译器和Vista 32中进行测试。
引用作为
Dirk-Jan克朗(2021)。墨西哥人多线程(//www.tianjin-qmedu.com/matlabcentral/fileexchange/21233-mex-multithreading), MATLAB中央文件交换。检索.
MATLAB版本兼容性
创建R2008a
与任何版本兼容