说我有:Java的运行和停止线程
class WriteThread extends Thread {
char letter;
boolean stop = false;
WriteThread(char letter) {
this.letter = letter;
}
public void halt() { stop = true; }
public void run() {
while(!stop) { System.out.print(letter); }
}
}
和:
WriteThread a = new WriteThread('a');
WriteThread b = new WriteThread('b');
a.start();
b.start();
// do some other stuff
a.halt();
b.halt(); // (*)
都是线程保证时(*)中,停止? (通过停止,我的意思是在(*)之后将不再有打印)
没有,因为你有多个线程“后”。 你也应该声明停止为易变 – cIph3r 2013-02-26 00:47:46
*“将不会再打印(*)”*之后,可能。 – MadProgrammer 2013-02-26 00:47:47
@MadProgrammer为什么可能?因为止损不是挥发性的? – Shmoopy 2013-02-26 00:51:24