在一个线程中创建了新窗体,那么新窗体和这个线程是不是同一个线程

一个窗体类{.................无关代码......newClientThread(data.name,f,toServer,streamToServer,... 一个窗体类 {
.................无关代码......
new ClientThread(data.name,f,toServer,streamToServer,fromServer,v);
System.out.println(Thread.currentThread().getName());
................无关代码..............................

}

public class ClientThread extends Thread{
..............一些初始化...........................
public void run()
{
new ClientFrame(.....参数列表.....);
System.out.println(Thread.currentThread().getName());
}
}
public class ClientFrame extends JFrame {
.............一些初始化...............
public ClientFrame(.....................参数列表.......)
{
...........无关代码.................

new ClientListenThread(ip,this);//监护线程
System.out.println(Thread.currentThread().getName());
}
}
问题是三个输出都是Thread-2 不是应该是三个线程吗?
从线程中创建窗体,窗体和线程是不是同一个线程?
从窗体中创建线程,窗体和线程是不是同一个线程?
纠正(不好意思)
第一个输出是AWT-EventQueue-0
后两个输出是Thread-2

在ClientListenThread中执行System.out.println(Thread.currentThread().getName());输出也是Thread-2
我一直以为我是在写多线程。。。。。。。。。。。。。。。。。。结果显示都是一个线程
展开
 我来答
百度网友4968fdb
2014-08-04 · 超过25用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:39.4万
展开全部
正常情况下
新建窗口会至少新建一个线程(取决于你的窗口代码会不会再起线程)
新建线程自然会新建一个线程...

与你在哪里创建的无关。

你要确认也很简单,使用以下语句
MessageBoxA(0,"我是XX","",0);
会弹出一个对话框,只要你不关闭对话框,此时线程是被挂起的。

你只需确认,在你创建完所有线程之后,对话框的数目是否和线程数相符。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式