相关疑难解决方法(0)

如何将参数传递给Java线程?

谁能告诉我如何将参数传递给线程?

此外,它如何为匿名类工作?

java multithreading

280
推荐指数
11
解决办法
33万
查看次数

是否有任何性能原因在Java中声明方法参数final?

是否有任何性能原因在Java中声明方法参数final?

如:

public void foo(int bar) { ... }
Run Code Online (Sandbox Code Playgroud)

与:

public void foo(final int bar) { ... }
Run Code Online (Sandbox Code Playgroud)

假设bar只读取并且从未修改过foo().

java performance final

117
推荐指数
2
解决办法
3万
查看次数

有没有办法将参数传递给Runnable?

我有一个使用处理程序发布可运行实例的线程.它工作得很好,但我很好奇如何通过params in在Runnable实例中使用?也许我只是不明白这个功能是如何工作的.

为了抢先"你为什么需要这个"问题,我有一个线程动画,必须回调到UI线程,告诉它实际绘制的内容.

java multithreading android runnable

34
推荐指数
3
解决办法
6万
查看次数

Android - 如何在runOnUiThread中将数据传递给Runnable?

我需要更新一些UI并使用UI线程在UI线程内完成.runOnUiThread
现在UI的数据来自另一个Thread,由data此处表示.

如何将数据传递给Runnable,以便它们可用于更新UI?Android似乎不允许直接使用数据.有一种优雅的方式来做到这一点?

public void OnNewSensorData(Data data) {

    runOnUiThread(new Runnable() {
        public void run() {
            //use data
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我的解决方案是private Data sensordata在runnable中创建一个fioeld ,并为其分配数据.如果原件Data data是最终的,这只有效.

public void OnNewSensorData(final Data data) {

    runOnUiThread(new Runnable() {
        private Data sensordata = data;
        public void run() {
            //use sensordata which is equal to data
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

user-interface multithreading android arguments

26
推荐指数
3
解决办法
3万
查看次数