
Java(Android)有关线程的执行问题
我现在在Service里进行了一个网络操作,叫netOperation();新开了一个线程去执行他,newThread(){run(){netOperation();}}...
我现在在Service里进行了一个网络操作,叫netOperation();
新开了一个线程去执行他,
new Thread() {
run() {
netOperation();
}
}.start();
在执行完毕(网络操作完毕)后,如果我想再次调用它,这个线程应该怎么办?
就是我的天气预报从服务器获得xml,这个过程在新建的thread中完成,然后用户点击更新按钮或者其他地方主动调用更新,这时应该如何对这个线程进行操作?
我希望只保留一个新的线程,而不是每次获取都新建一个。并且希望得到当前线程的状态,比如说在用户点击更新时,判断当前链接线程是否在获取,如果正在就不进行操作。
希望可以帮帮我:)
回答得比较清晰地追加分哦 展开
新开了一个线程去执行他,
new Thread() {
run() {
netOperation();
}
}.start();
在执行完毕(网络操作完毕)后,如果我想再次调用它,这个线程应该怎么办?
就是我的天气预报从服务器获得xml,这个过程在新建的thread中完成,然后用户点击更新按钮或者其他地方主动调用更新,这时应该如何对这个线程进行操作?
我希望只保留一个新的线程,而不是每次获取都新建一个。并且希望得到当前线程的状态,比如说在用户点击更新时,判断当前链接线程是否在获取,如果正在就不进行操作。
希望可以帮帮我:)
回答得比较清晰地追加分哦 展开
展开全部
其实可以判断的
给你一个例子:
public static void main(String[] s) {
Thread a = new Thread() {
@Override
public void run() {
while (!interrupted()) {
netOperation();
}
}
};
a.start();
if (!a.isInterrupted()) {
//这里判断是否在运行
//如果已经执行完了 你可以再次new出来
System.out.println("is run.");
}
}
给你一个例子:
public static void main(String[] s) {
Thread a = new Thread() {
@Override
public void run() {
while (!interrupted()) {
netOperation();
}
}
};
a.start();
if (!a.isInterrupted()) {
//这里判断是否在运行
//如果已经执行完了 你可以再次new出来
System.out.println("is run.");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询