一个Java applet中的两个线程最佳实践

时间:2012-01-10 11:12:56

标签: java multithreading applet

我见过很多像这样的例子:

public class AppletName extends Applet implements Runnable {
    // member variables
    // run method and so on...
}

我无法弄清楚的问题是在一个applet中使用两个线程的最佳方法是什么。我试图在Google上找到这个,我找到了500页的书:(我需要快速的东西。

有人可以给我一些简短的例子或者告诉我什么是最佳做法?

4 个答案:

答案 0 :(得分:1)

  

我见过很多像这样的例子

如果它们基于Applet,则它们要么非常陈旧,要么由相对无能的作者撰写。把它们放回你找到它们的地方。

  1. 对组件使用Swing(例如,扩展JApplet)。
  2. 有关如何使用多个线程的详细信息,请阅读Concurrency in Swing

答案 1 :(得分:0)

我会使用ExecutorService或ScheduledExecutorService并添加任务,例如匿名Runnable类到线程池。您可能会发现即使您有两个或大多数任务也只需要一个线程(它只是一个可以在以后更改的线程池配置)

答案 2 :(得分:0)

Java Applets and Threads的一个例子。简短而简单。使用示例代码。

如果您有一个并发处理任务池,请考虑ExecutorService类。

对于最佳做法,有一个更短的(<500页:)和最明确的指南is here。第07章至第11章与多线程代码有关。 (只列出最佳做法和典型错误)

答案 3 :(得分:0)

需要一段时间来完善响应速度非常快的Applet和Java GUI应用程序。

你必须明白扩展一个线程是可以的,但你用它做什么很重要。

有许多框架可供使用,如果你需要快速的东西,那么扩展一个线程就好了。

您可能需要从设计角度问问自己:

  1. 你的应用有多个页面/帧吗?

  2. 经常更新吗? (过多的画作,或只是很多进度条)

  3. 是否经常需要用户输入(例如游戏控制)

  4. 如果对所有人回答“是”,那么考虑换行到一个线程,这是在显示线程之前启动主进程(后台)线程的一个好习惯。

    再一次,我不知道你想要达到什么目标,也许对我们有所启发。