在C#中使用线程,线程的方法函数中需要带一个数组的参数传递进去
例如:threadStartmm=newthreadStart(doit);threadnn=newthread(mm);nn.start(数组)publicvoiddo...
例如:
threadStart mm=new threadStart (doit);
thread nn=new thread(mm);
nn.start(数组)
public void doit(float [] mydata )
{
^^^^^^^^^^^^^
}
大概意思就是这样,我想使用线程去处理doit这个事情,但是线程无法传递一个数组变量,求大神赐教!!! 展开
threadStart mm=new threadStart (doit);
thread nn=new thread(mm);
nn.start(数组)
public void doit(float [] mydata )
{
^^^^^^^^^^^^^
}
大概意思就是这样,我想使用线程去处理doit这个事情,但是线程无法传递一个数组变量,求大神赐教!!! 展开
4个回答
展开全部
threadStart mm=new threadStart (doit);
thread nn=new thread(mm);
nn.start(数组);
public void doit(object sender)
{
float[] _mydata = sender as float[];
//do something
}
另外建议:把新建线程设为后台线程,即添加: nn.IsBackground = true;这一句话,这样当你应用程序退出之后,该线程也会立即销毁,如果为false,则就算主线程退出了,你新建的线程还会继续执行下去,直到新建线程执行结束
thread nn=new thread(mm);
nn.start(数组);
public void doit(object sender)
{
float[] _mydata = sender as float[];
//do something
}
另外建议:把新建线程设为后台线程,即添加: nn.IsBackground = true;这一句话,这样当你应用程序退出之后,该线程也会立即销毁,如果为false,则就算主线程退出了,你新建的线程还会继续执行下去,直到新建线程执行结束
展开全部
ParameterizedThreadStart mm = new ParameterizedThreadStart(doit);
Thread nn = new Thread(mm);
nn.Start(数组);
public void doit(object mydata)
{
//强制转换mydata为你需要的数组
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义成 object
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能用啊,我这儿是OK的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询