小编Woj*_*ior的帖子

为什么我的布尔变量在停止线程循环时应该是易变的?

假设我有一个包含while循环的线程,我想"从外面"停止它.

public class MyThread extends Thread {

    private boolean running = true;

    @Override
    public void run() {
        while (running) {
            // do something
        }
    }

    public void setRunning(boolean running) {
        this.running = running;
   }
}
Run Code Online (Sandbox Code Playgroud)

这是Main类:

public class Main {
    public static void main(String[] args) {
        MyThread mt = new MyThread();
        mt.start();
        // do something
        mt.setRunning(false);
    }
}
Run Code Online (Sandbox Code Playgroud)

它似乎正在停止正常,但我已经读过布尔值也应该是不稳定的.为什么?它会加速停止吗?

java multithreading volatile

5
推荐指数
1
解决办法
1093
查看次数

MVVM模式中应该只有一个ViewModel类吗?

我正在尝试了解MVVM模式,并且存在一些不清楚的问题。我的Xamarin Forms应用程序将具有多个视图(这是显而易见的)。是否必须将每个人都绑定到不同的ModelView类?也许应该只有一个MV?

c# mvvm xamarin

5
推荐指数
1
解决办法
569
查看次数

如何检查Objective-C中的内置函数实现?

我想问一下是否有可能在Xcode IDE中检查内置函数实现.我的意思是 - 在IntelliJ中有类似CTRL + [点击功能名称]的东西吗?我需要检查arc4random()实现.

xcode objective-c ios

3
推荐指数
1
解决办法
169
查看次数

GridBagLayout问题

我正在尝试使用GridBagLayout.我需要一个垂直和水平居中的JLabel - 这很容易,我甚至不需要创建任何GridBagConstraints.我还想把JButton放在右下角,当我尝试这样做时,我的中心面板向左移动或按钮向上移动.

EXPECTING     GETTING THIS  OR THIS
+-----------+ +-----------+ +-----------+
|           | |           | |           |
|           | |           | |           |
|           | |           | |           |
|   +---+   | | +---+     | | +---+     |
|   |   |   | | |   |     | | |   |     |
|   +---+   | | +---+     | | +---++---+|
|           | |           | |      |   ||
|           | |           | |      +---+|
|       +---+ |       +---+ |           |
|       |   | …
Run Code Online (Sandbox Code Playgroud)

java swing layout-manager gridbaglayout

0
推荐指数
1
解决办法
57
查看次数