0

我正在制作一个非常简单的搜索栏示例,我想在其中为用户可能实时搜索的内容提供建议(就像 Google 一样)。

所以我的计划是使用 2 个不同的线程,1 个用于运行框架,一个用于运行检查用户输入并调整建议的方法。

但是我在这里遇到了逻辑上的麻烦,因为我需要在两个可运行文件中使用相同的对象,显然这是行不通的:

     Runnable r = new Runnable() {
        public void run() {
            Suchfenster inst = new Suchfenster();
        }
      };

    Runnable r2 = new Runnable() {

        @Override
        public void run() {
            //check(inst);   -> I need to use the created frame here
        }
     };

我唯一的另一个想法是:

    Suchfenster inst;
    Runnable r = new Runnable() {
        public void run() {
            inst = new Suchfenster();
        }
    };

这当然也行不通。

什么是正确的方法?

4

1 回答 1

0

你为什么不让inst = new Suchfenster()外部成为可运行的?这样您就可以在两个可运行程序之间共享它...还有一件事-请记住,如果您想在两个线程中使用相同的实例,则需要一个线程安全的实例...

于 2013-08-26T19:52:40.433 回答