我被困住了,希望有人可以帮助我.
我已经制作了一个类/ gui,其中一个加载条设置为选取框,这样当执行任务时我可以将其显示给用户.
在我的一个gui类中,在第一行的构造函数中,我正在创建此类的新实例然后执行
LoadingBar bar = new LoadingBar();
Thread thread = new Thread(bar.Show);
thread.Start();
Run Code Online (Sandbox Code Playgroud)
然而,即使主程序线程正在做一些更密集的东西,这个gui似乎仍然冻结,即使我使用backround worker.
我提到的方法有什么问题,如果有,我需要改变什么?
谢谢
如果我有课
public Class foo
{
public foo()
{
myclass = new myclass(param)
myclass.initiateState();
val = myclass.getValues();
}
}
Run Code Online (Sandbox Code Playgroud)
Class.initiateState() 是一个漫长的过程,它在我的GUI构造函数中运行,我想开始用一个线程运行,但是下一行转到同一个类来获取一些数据,但如果我在一个新线程中运行第一行,那么这会得到在完成之前执行.
我怎么解决这个问题?