有一个主函数myMain(),这个函数中定义了一个类myData的对象myObj,对象中含有一些int,double,string等数据,我将myObj赋值给一个object对象para,然后将para作为参数传给了新线程TestThread调用的方法newMethod,语句如下:
object para=myObj;
Thread TestThread = new Thread(new ParameterizedThreadStart
(newMethod) );
TestThread.Start(para);
然后我在newMethod函数中,将para还原成类myData的对象:
myData d=(myData)para;
这样,主函数myMain()中myObj的数值就被传递到子函数newMethod中了。
我看到书上说object对象作为函数参数是以引用的方式!那么,newMethod函数使用的d是不是和主函数myMain()中的myObj对象是同一个内存单元??如果我在执行子进程的时候,主进程执行完毕,释放了myObj对象,那么子进程中的d对象岂不是消失了??这还了得??
iceser,您的意思是:
如果我在执行子进程的时候,主进程执行完毕,释放了myObj对象,那么子进程中的d对象不会消失的,可以继续使用d对象,是吗??
慕盖茨4494581