我正在使用线程在后台运行计算昂贵的代码。此代码在他运行时返回进度。在主线程中,我想读取这个值,以便向用户显示进度
这是我的设置: 一个进程类:
Public class ProcessThread implements Runnable {
public int progress;
ProcessThread{
}
public void run(){
// Update progress as the processing goes
}
}
还有一个主要课程:
Public class MainClass {
Private ProcessThread myProcessThread;
MainClass{
myProcessThread = new ProcessThread();
(new Thread(myProcessThread)).start();
}
Public void readProcess(){
// Called from anywere in the main thread.
System.out.print("Progress = " + myProcessThread.progress);
}
}
我想知道锁定变量的最佳方法(使用 wait()、notify()、...),以便读写它们是线程安全的。
感谢您的任何建议。
最好的