private void processA() {
} private void processB() {
}
private class ProcessThreadA extends Thread {
public void run() {
}
}
private class ProcessThreadB extends Thread {
public void run() {
}
}
线程A调用processA()方法,线程B调用processB()方法。
执行过程是这样的:当线程A未处理完毕时,线程B需要等待;线程B在处理时,如果线程A开始运行了,则强制中断线程B;当processA()在被一个线程调用时,其他线程再调用这个方法时,需要等待前一个线程处理完毕才能执行;当processB()在被一个线程调用时,其他线程再调用这个方法时,需要等待前一个线程处理完毕才能执行。叙述的可能不是太清楚,有1条最主要的原则就是:当有新的ProcessThreadA线程运行起来时,其它的A、B线程都要中止,当有新的ProcessThreadB线程运行起来时,需要等待前面所有的A、B线程处理完后才执行。先给50分,如果能解决的话肯定会加更多得分的,谢谢各位了。
} private void processB() {
}
private class ProcessThreadA extends Thread {
public void run() {
}
}
private class ProcessThreadB extends Thread {
public void run() {
}
}
线程A调用processA()方法,线程B调用processB()方法。
执行过程是这样的:当线程A未处理完毕时,线程B需要等待;线程B在处理时,如果线程A开始运行了,则强制中断线程B;当processA()在被一个线程调用时,其他线程再调用这个方法时,需要等待前一个线程处理完毕才能执行;当processB()在被一个线程调用时,其他线程再调用这个方法时,需要等待前一个线程处理完毕才能执行。叙述的可能不是太清楚,有1条最主要的原则就是:当有新的ProcessThreadA线程运行起来时,其它的A、B线程都要中止,当有新的ProcessThreadB线程运行起来时,需要等待前面所有的A、B线程处理完后才执行。先给50分,如果能解决的话肯定会加更多得分的,谢谢各位了。
把ProcessThreadA的优先级调高setPriority(6)
这样就可以了