📄 parsingthread.java
字号:
/*
* License: Common Public License v1.0
* Created on Sep 14, 2005
*
* @author Fabio Zadrozny
*/
package org.python.pydev.parser;
import org.python.pydev.core.log.Log;
public class ParsingThread extends Thread {
boolean okToGo;
boolean force = false;
private ParserScheduler parser;
private Object[] argsToReparse;
ParsingThread(ParserScheduler parser, Object ... argsToReparse) {
super();
this.parser = parser;
this.argsToReparse = argsToReparse;
}
public void run() {
try {
if(force == false){
makeOkAndSleepUntilIdleTimeElapses();
}
while(!okToGo && force == false){
makeOkAndSleepUntilIdleTimeElapses();
}
//ok, now we parse it... if we have not been requested to stop it
try {
parser.state = ParserScheduler.STATE_DOING_PARSE;
parser.reparseDocument(argsToReparse);
} catch (Throwable e) {
Log.log(e);
}
//remove the force state
force = false;
//reset the state
parser.state = ParserScheduler.STATE_WAITING;
} finally{
parser.parsingThread = null;
}
}
private void makeOkAndSleepUntilIdleTimeElapses() {
try {
okToGo = true;
sleep(PyParserManager.getPyParserManager(null).getElapseMillisBeforeAnalysis());
} catch (Exception e) {
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -