我的代码结构如下:问题是 应用程序有2个线程在跑,经常运行3 天左右程序就不动了,没反应,重启后才能正常运行,两个线程里面都操作了数据库,程序死的时候,数据库正常,也没有异常日志,请指教是代码结构有问题还是哪里出现了死锁?
public static void main(String[] args) {
main=new MainServer();
main.columnUpdate();//栏目同步
main.updateContent();//内容同步
} private boolean bo = false;
private Thread columnThread = null;
private void columnUpdate(){
bo = true;
columnThread = new Thread() {
public void run() {
try {
int q=0;
while(bo) {
程序操作内容
columnThread.sleep(500000);
}
}
catch(Exception ex) {
log("栏目同步"+ex.getMessage()); //异常日志
}
}
};
columnThread.start();
} private boolean bool = false;
private Thread cuThread = null;
public void updateContent(){
bool = true;
cuThread = new Thread() {
public void run() {
try {
while(bool) {
程序操作内容
cuThread.sleep(60000);
}
}
catch(Exception ex) {
bool = false;
log("内容同步"+ex.getMessage());//异常日志
}
}
};
cuThread.start();
}
public static void main(String[] args) {
main=new MainServer();
main.columnUpdate();//栏目同步
main.updateContent();//内容同步
} private boolean bo = false;
private Thread columnThread = null;
private void columnUpdate(){
bo = true;
columnThread = new Thread() {
public void run() {
try {
int q=0;
while(bo) {
程序操作内容
columnThread.sleep(500000);
}
}
catch(Exception ex) {
log("栏目同步"+ex.getMessage()); //异常日志
}
}
};
columnThread.start();
} private boolean bool = false;
private Thread cuThread = null;
public void updateContent(){
bool = true;
cuThread = new Thread() {
public void run() {
try {
while(bool) {
程序操作内容
cuThread.sleep(60000);
}
}
catch(Exception ex) {
bool = false;
log("内容同步"+ex.getMessage());//异常日志
}
}
};
cuThread.start();
}
有其他的好方法吗?