有关多线程的一个问题
有这样一段代码
public class Test
{
private Thread t;
public Test()
{
t = new Thread(new ThreadStart(ThreadJob));
}
public Run()
{
t.Start();
}
private void ThreadJob()
{
// 这里做一些操作
process();
// 另外的操作
}
private void process()
{
// 这里执行一些操作
}
}
执行Run,这个类启动了一个线程,这个线程去执行了ThreadJob()这个方法,这个方法里面用到了process()这个方法。
问题:当执行process()这个方法的时候,是主线程来操作,还是子线程在操作?
------解决方案--------------------你可以在process()方法里面去添加一句代码看看到底是哪个线程在起作用。
Thread.CurrentThread; //获取当前正在运行的线程
然后将他显示出来看下就好了
------解决方案--------------------子线程操作
t = new Thread(new ThreadStart(ThreadJob));
t.Start();
明显是在新开子线程中做的
------解决方案--------------------线程t在操作
------解决方案--------------------我不知道是自己没明白你的意思还是你就是那个意思,你不是把你自己的方法放到你自己新开的线程里了吗?怎么还问在是不是主线程呢