多线程的问题,求助!

liudows 2005-04-29 09:05:36
我在写一个游戏,目前碰到一个问题:我要在线程A中调用线程B的某对象的方法,请问怎么做?
...全文
198 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
大数据菜 2005-05-03
  • 打赏
  • 举报
回复
lindows,看看helpall的例子,把变量的作用于声明在外面,然后再在线程里初始化和使用,不过要注意同步,也要防止初始化之前的使用。
oldmoon 2005-05-01
  • 打赏
  • 举报
回复
我在线程B的run()函数中创建了一个对象C,现在想要在线程A中调用C的方法??????
c究竟是对象还是方法?
helpall 2005-05-01
  • 打赏
  • 举报
回复
// Try this
class X {
StringBuffer variable;
public void test() {
new Thread( new Runnable(){
public void run() {
variable = new StringBuffer("abc");
new Thread( new Runnable(){
public void run() {
while(variable == null || variable.toString().equals("abc")){
try {Thread.sleep(10000);} catch (Exception e) {}
if(variable != null && variable.toString().equals("abc"))
variable.append("abc");
}
System.out.println("sub thread ends.");
}
}).start();
while(variable.toString().equals("abc")){
System.out.println("variable="+variable);
try{Thread.sleep(1000);}catch(Exception e){}
}
System.out.println("parent thread ends");
}
}).start();
System.out.println("test() ends");
}
}
liudows 2005-04-30
  • 打赏
  • 举报
回复
是这样的,我在线程B的run()函数中创建了一个对象C,现在想要在线程A中调用C的方法,其中线程B也是在线程A中创建的。大虾请赐教。
yuziyu 2005-04-30
  • 打赏
  • 举报
回复
这样C是一个局部变量,外部应该不能访问吧
liuzhx 2005-04-30
  • 打赏
  • 举报
回复
up
大数据菜 2005-04-29
  • 打赏
  • 举报
回复
这个表述让人很不明白,对象不属于任何线程,
你所说的问题是应该是变量的作用域吧?
要解决就是把变量声明在更大范围的作用于中,
不知道你想要表述的事不是这个意思??

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧