关于一个提示对话框的有关问题

关于一个提示对话框的问题!
用SWT做的界面,程序中有一段程序执行需要的时间比较长,想在运行时弹出一个提示,表明程序正在运行,有什么思路?我先试着直接在运行这段程序之前弹出对话框,弹出对话框后程序停止在这里,不能运行下面程序,试着用线程弹出提示对话框,结果一样!

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;


public class test {

public static void main(String[] args){


Display display =Display.getDefault();
        Shell shell = new Shell(display);
//在运行时间较长的程序段时弹出对话框
        MessageBox dialog=new MessageBox(shell,SWT.OK|SWT.ICON_INFORMATION);
        dialog.setText("ok");
        dialog.setMessage("程序正在运行,请等待!");
        dialog.open();
        
       //运行时间较长的程序段
        System.out.println("运行时间较长"); 
        
        shell.open();
        shell.layout();
        while (!shell.isDisposed()) {
          if (!display.readAndDispatch())
             display.sleep();
            
            }
        
}

}

------解决方案--------------------
GUI线程只有一条。

你的策略应该是:用新的线程去负责 “一段程序执行需要的时间比较长” 的内容。然后用弹出对话框去阻塞整个图形界面。