java 一个类调用并修改另一个类的成员变量问题
importjava.util.Date;publicclassTestInterrupt{publicstaticvoidmain(Stringargs[]){MyTh...
import java.util.Date;
public class TestInterrupt {
public static void main(String args[]){
MyThread mt=new MyThread();
Thread t=new Thread(mt);
t.start();
try{
Thread.sleep(10000);
}catch(InterruptedException e){}
//t.interrupt();
}
}
class MyThread implements Runnable{
public void run(){
boolean a=true;
while(a){
System.out.println("----"+new Date()+"----");
try{
Thread.sleep(1000);
}catch(InterruptedException e){
a=false;
}
}
}
}
我想用主类直接调用修改MyThread里的a使其变为false从而直接结束线程。。请问怎么实现。 展开
public class TestInterrupt {
public static void main(String args[]){
MyThread mt=new MyThread();
Thread t=new Thread(mt);
t.start();
try{
Thread.sleep(10000);
}catch(InterruptedException e){}
//t.interrupt();
}
}
class MyThread implements Runnable{
public void run(){
boolean a=true;
while(a){
System.out.println("----"+new Date()+"----");
try{
Thread.sleep(1000);
}catch(InterruptedException e){
a=false;
}
}
}
}
我想用主类直接调用修改MyThread里的a使其变为false从而直接结束线程。。请问怎么实现。 展开
2个回答
展开全部
import java.util.Date;
public class TestInterrupt {
public static void main(String args[]){
MyThread mt=new MyThread();
Thread t=new Thread(mt);
t.start();
try{
Thread.sleep(10000);
t.shutDown(); //调用showDown()方法来关闭进程,当然,这个调用的位置随你了
}catch(InterruptedException e){}
//t.interrupt();
}
}
class MyThread implements Runnable{
public void run(){
boolean a=true;
while(a){
System.out.println("----"+new Date()+"----");
try{
Thread.sleep(1000);
}catch(InterruptedException e){
return;
}
public void shutDown(){ //利用showDown()方法来关闭
a=false;
}
}
}
}
我只是改了几处,你的程序我没有检查,思路就是在这儿,也就是给个方法,让主方法能够调用,希望能帮到你
public class TestInterrupt {
public static void main(String args[]){
MyThread mt=new MyThread();
Thread t=new Thread(mt);
t.start();
try{
Thread.sleep(10000);
t.shutDown(); //调用showDown()方法来关闭进程,当然,这个调用的位置随你了
}catch(InterruptedException e){}
//t.interrupt();
}
}
class MyThread implements Runnable{
public void run(){
boolean a=true;
while(a){
System.out.println("----"+new Date()+"----");
try{
Thread.sleep(1000);
}catch(InterruptedException e){
return;
}
public void shutDown(){ //利用showDown()方法来关闭
a=false;
}
}
}
}
我只是改了几处,你的程序我没有检查,思路就是在这儿,也就是给个方法,让主方法能够调用,希望能帮到你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询