Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个Java小程序中的两个线程最佳实践_Java_Multithreading_Applet - Fatal编程技术网

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

一个Java小程序中的两个线程最佳实践,java,multithreading,applet,Java,Multithreading,Applet,我见过很多这样的例子: public class AppletName extends Applet implements Runnable { // member variables // run method and so on... } 我无法解决的问题是,在一个applet中使用两个线程的最佳方式是什么。我试着在谷歌上找到这个,我找到了500页的书:(,我需要一些快速的东西 有人能给我举个简短的例子或告诉我什么是最佳实践吗?我会使用ExecutorService或Sch

我见过很多这样的例子:

public class AppletName extends Applet implements Runnable {
    // member variables
    // run method and so on...
}
我无法解决的问题是,在一个applet中使用两个线程的最佳方式是什么。我试着在谷歌上找到这个,我找到了500页的书:(,我需要一些快速的东西


有人能给我举个简短的例子或告诉我什么是最佳实践吗?

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

一个.Short和simple.With示例代码的示例

如果您有一个并发处理任务池,请考虑ExtutoService类.< /P> 对于最佳实践,有一个更简短的定义( 我见过很多这样的例子

如果它们基于
Applet
,则它们要么非常旧,要么是由相对不称职的作者编写的。请将它们放回您找到它们的地方

  • 对组件使用Swing(例如extend
    JApplet
  • 有关如何使用多线程的更多详细信息,请阅读

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

    您必须理解,扩展线程是可以的,但是如何处理它是很重要的

    有很多框架可以利用,如果您需要一些快速的东西,那么扩展线程就可以了

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

  • 你的应用程序有多个页面/框架吗

  • 它经常更新吗?(画作过多,或者只是很多进度条)

  • 是否经常需要用户输入(如游戏控件)

  • 如果您对所有人都回答“是”,那么考虑将包括到线程中,在显示线程之前启动主进程(后台)线程是一个很好的实践。


    同样,我也不知道您想要实现什么,也许会给我们一些启发。

    没错。原因是需要一个非常简单的答案(因为“extends Applet implements Runnable”)@Peter错过了其中一个类extends Thread(另一个实现Runnable)