在我的程序中,我调用线程来完成一些工作,但是另一种线程类方法在run方法之前执行。
public class Verify extends JFrame implements Runnable
{
long Local_cid;
String local_path;
static boolean isIntialised=false;
JProgressBar bar;
final static ArrayList<Long> ContactList=new ArrayList<>();
final static ArrayList<Long> Scanned=new ArrayList<>();
static boolean flag=true;
static boolean Duplicate_flag=true;
boolean[] flags=new boolean[6];
public Verify(long ID,String path)
{
Local_cid=ID;
local_path=path;
}
public boolean[] Return_Flag()
{
System.err.println("Verify Id");
return flags;
}
public void dispose_Frame()
{
System.err.println("Executing First");
dispose();
}
@Override
public void run()
{
System.err.println("This should Executed First");
}
}
当我通过启动调用调用此线程时,输出如下:
验证ID
执行第一
这应该先执行
答案 0 :(得分:0)
您应该遵循Java编码标准样式指南,这将使人们更容易阅读。
您发布的代码中没有任何内容可以调用Return_Flag()
,因此您必须在其他地方调用它 - 可能来自首先创建线程的代码。
只有在线程启动后才会调用Run,而其他线程仍在同时运行,并且可以按照自己喜欢的顺序调用他们喜欢的任何方法......
答案 1 :(得分:0)
我100%确定你在实际启动线程之前在代码中的某个地方调用这些方法。只是看起来更小心,你会发现它。