假设通过实现Runnable接口创建了线程对象A,下面两种情况,第一种在同一个线程对象里创建两个不同线程,第2种在不同线程对象里创建2个线程,请问这两种情况分别在什么时候适用?假设A中有一个方法名为getData()通过run方法调用,在下边两种情况里xx yy 在run 方法里调用getData()有什么区别?刚接触java多线程,求解。。1.A impelements Runnable
A a= new A();
Thread xx= new Thread(a);
Thread yy= new Thread(a);
xx.start();
yy.start(); 2. A impelements Runnable
A a= new A();
A a1= new A();
Thread xx= new Thread(a);
Thread yy= new Thread(a1);
xx.start();
yy.start();
A a= new A();
Thread xx= new Thread(a);
Thread yy= new Thread(a);
xx.start();
yy.start(); 2. A impelements Runnable
A a= new A();
A a1= new A();
Thread xx= new Thread(a);
Thread yy= new Thread(a1);
xx.start();
yy.start();
解决方案 »
- struts.xml中的编译错误
- Spring配置bean id="/user"出错!!!
- WebSphere和WebLogic,应该选择哪一个?
- 任务发送这个如何设计开发呢
- hibernate.config.xml的问题
- 请问在配置weblogic8连接池时,提示这样的错误是什么原因?
- <form method="post" action="*.do?id=10"> 的问题
- 谁能 详细说明Hashtable和HashMap的区别及用法?
- ★★★★★Ant不能运行,怎么解决啊?★★★★★
- 请问什么开发java更好一些,在哪里能下载?
- httpclient如何判断 链接成功与否
- 关于整合spring和struts2
A a= new A();
A a1= new A();
Thread xx= new Thread(a);
Thread yy= new Thread(a1);//这样没必要,因为a和a1是一样的
//假如有A2 impelements Runnable
// A2 a1= new A2(); 才有意义
xx.start();
yy.start();
谢谢指教。请问一般情况下是用哪种方法?因为我同时创建的线程可能会达到1000个,用第2种方法会不会导致出现内存问题?
假设现在有2个类 A B 分别实现了runnable接口。
1.在A中调用ExecutorService es = Executor.newCachedThreadPool();创建了一个线程池。监听socket请求
2.监听到一个socket请求就调用Executor的Execute方法,es.execute(new B ());从池中分配一个线程。
3.B的构造函数
Public B(){
Thread b= new Thread(this);
b.start();
}
在B的构造函数中初始化了一个新线程处理这条socket消息。B本身是一个线程类,在构造函数中创建新线程有问题么?