1)可以在该方法上加一个同步锁,让其变为同步方法,这样每次就只有一个线程可以访问,而其他的线程只有等到他访问完之后才有机会访问。
2)可以在方法中设置参数count,访问时累加,然后判断。
一定要关闭的话,首先要判断是那一个线程访问了方法,之后将其他的关闭就可以了。
其他线程会被关闭?是其他线程不可访问吧?
如果是不可访问的话,在定义该方法中加个synchronized
如:public synchronized void methodName() {
//方法体
}
synchronized关键字是用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码
设置信号量,如果有人访问就把信号量置值
用synchronized关键字
public void go()
{
synchronized(this)
{
//逻辑代码
}
}