相关疑难解决方法(0)

最终和有效决赛之间的区别

我在Java 8中玩lambdas,我遇到了警告local variables referenced from a lambda expression must be final or effectively final.我知道当我在匿名类中使用变量时,它们必须在外部类中是最终的,但仍然 - 最终有效最终之间有什么区别?

java lambda final inner-classes java-8

329
推荐指数
7
解决办法
16万
查看次数

用参数运行吗?

我需要一个"Runnable接受一个参数",虽然我知道这样的runnable并不存在.

这可能指出我的应用程序设计中的根本缺陷和/或疲惫的大脑中的心理障碍,所以我希望在这里找到关于如何完成以下内容的一些建议,而不违反基本的OO原则:

  private Runnable mOneShotTask = new Runnable(String str) {
    public void run(String str) {
       someFunc(str);
    }
  };  
Run Code Online (Sandbox Code Playgroud)

知道如何完成上述内容吗?

java runnable

163
推荐指数
7
解决办法
16万
查看次数

如何将变量传递给新的Runnable声明?

我有以下内容:

Runnable done = new Runnable()
    {
        public void run()
        {
            System.out.println("Hello");
        }
    };
Run Code Online (Sandbox Code Playgroud)

然后在我的Android活动中,我会称之为:

runOnUIThread(done);
Run Code Online (Sandbox Code Playgroud)

然后我打电话给你.但是,我希望"Hello"不要硬编码,所以我可以传入它.否则我将必须为我想要打印的每个字符串都有一个这样的声明.

(这实际上是一个android问题,但是它缩小到基本Java,所以更容易回答)

谢谢

java android runnable android-2.1-eclair

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

如何将参数传递给java中已经运行的线程?

如何将参数传递给java中已经运行的线程 - 而不是在构造函数中,并且可能没有使用wait()(可能??)

类似于" 如何将参数传递给Java线程"中的注释

你的意思是将参数传递给已经运行的线程?因为所有当前的答案都是关于将参数传递给新线程... - Valentin Rocher 09年5月18日10:43

[编辑]

是的,我正在寻找像生产者/消费者模式的东西.

我想要的东西就像一个线程,其中有处理和准备键盘输入.另一个线程只是监视网络并将接收到的文本传递给处理线程.

java multithreading

8
推荐指数
1
解决办法
1万
查看次数

将参数从主线程传递到新线程

如何使用扩展名将参数从主线程传递到PHP中的新线程pthreads

与此类似的东西如何将参数传递给Java线程?只是在PHP中。

php multithreading pthreads parameter-passing

4
推荐指数
1
解决办法
2965
查看次数

将参数传递给Java Thread

我已经看到了:如何将参数传递给Java Thread?

但我不知道究竟是怎么用的.所以我制作了简单的代码来节省宝贵的时间:

class ThreadParam implements Runnable { 
static int c;

public ThreadParam(int a, int b){
    int c = a+b;
}

public void run(){
    System.out.println(c);
}

}

public class ThreadParamTest {
public static void main(String args[]){
    Runnable r = new ThreadParam(1000,2000);
    new Thread(r).start();  
}   
}
Run Code Online (Sandbox Code Playgroud)

为什么这个结果为0?我认为应该是3000.也许变量"int c"不是调度run()方法.我该如何解决这个问题?

java multithreading

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

螺纹评分系统

我开始学习线程并遇到了问题.

我有一个评分系统,旨在为临时的addedPoints变量添加一个点,向玩家展示他们最近获得的积分数.然后在大约1秒后,添加的分数应该添加到球员得分.

我的尝试看起来像这样:

public static void AddPoints(int points)
{
    for (int i = 0; i < points; i++)
    {
        Thread addThread = new Thread(new ThreadStart(ThreadedPoint));
    }
}

private static void ThreadedPoint()
{
    addedPoints += 1;
    Thread.Sleep(1000);
    score += 1;
    addedPoints -= 1;
}
Run Code Online (Sandbox Code Playgroud)

这有两个问题.首先它只允许我为每个线程添加1点,这远非理想.其次,它实际上并不起作用.添加的积分和分数都没有更新.我怎样才能解决这个问题?

c# multithreading windows-phone-7

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