java 如使让一个方法只能调用一次 除非这个方法运行结束
java如使让一个方法只能调用一次除非这个方法运行结束如publicclassStockInfoextendsThread{publicvoidStockInfo(){n...
java 如使让一个方法只能调用一次 除非这个方法运行结束
如
public class StockInfo extends Thread{
public void StockInfo(){
new StockInfo().start();
//如果让这个调用 只能一次(只有一个线程 可以使用)
}
public void run(){"死循环"}
}
public Synchronize void run(){"死循环"} 加上 貌似无效 展开
如
public class StockInfo extends Thread{
public void StockInfo(){
new StockInfo().start();
//如果让这个调用 只能一次(只有一个线程 可以使用)
}
public void run(){"死循环"}
}
public Synchronize void run(){"死循环"} 加上 貌似无效 展开
3个回答
2016-06-29
展开全部
使用Synchronized或者ReetrantLock
也可以在方法内添加标识 在方法开始执行时改变标识状态 方法结束后也改变标识状态 只要当标识符合条件时才执行方法体内容 比如:
int status = true;
public String getSomeThing(){
var ret = "";
if(status ){
status = false;
........................
status = true;
return "someThing";
}
return ret;
}
这个方法虽然没像你说的只能调用一次 但是你方法体的内容被控制住了 也可以变相的达到要的效果
不过还是推荐使用同步锁~~
也可以在方法内添加标识 在方法开始执行时改变标识状态 方法结束后也改变标识状态 只要当标识符合条件时才执行方法体内容 比如:
int status = true;
public String getSomeThing(){
var ret = "";
if(status ){
status = false;
........................
status = true;
return "someThing";
}
return ret;
}
这个方法虽然没像你说的只能调用一次 但是你方法体的内容被控制住了 也可以变相的达到要的效果
不过还是推荐使用同步锁~~
展开全部
线程同步,synchronized关键字
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在方法前加synchronized
追问
public Synchronized void run(){"死循环"}
没作用 还是运行两次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询