如何确保库调用在调用它们时执行

时间:2017-07-03 16:40:04

标签: java multithreading locking mutex imagej

    WindowManager.setCurrentWindow(a.getWindow());
    System.err.println("Current window is " + WindowManager.getCurrentWindow());
    WindowManager.setCurrentWindow(b.getWindow());
    System.err.println("Current window is " + WindowManager.getCurrentWindow());

WindowManager是在ij包中定义的类[ImageJ的java API - https://imagej.nih.gov/ij/developer/api/ij/WindowManager.html#setCurrentWindow--],这里调用的两个方法都是WindowManager类中的静态方法,我的程序只写在一个线程中。

上面的代码在打印'a''a'和'a''b'之间有所不同。我的假设是WindowManager.setCurrentWindow(ImageWindow x)必须在另一个线程中执行,它在完成之前将控制权返回给我的线程。

有没有办法确保当前线程在第一个方法完成执行之前不会继续? - 我想我可以使用while循环,但我希望有一个更有效的解决方案。

0 个答案:

没有答案