Fed*_*rer 48 gwt multithreading
据我所知,GWT应用程序的整个客户端在构建时都会转换为Javascript,因此我认为这个问题与Javascript和GWT提供的可能性有关.
我需要在我的GWT应用程序中启动几十个进程,然后每个进程将不断调用服务器.GWT是否支持线程化?GWT客户端是否支持线程化?
编辑:
此链接指出:
No JavaScript knowledge required If you’re just a user of the framework,
which I am for the matter of discussion, you do not need to know JavaScript
in order to write dynamic content, be it client-side such as rolling frames,
docking panels or scheduled “multi-threading” tasks, or server-side calls
using XMLHttpRequests (aka AJAX).
Run Code Online (Sandbox Code Playgroud)
或预定的"多线程"任务,这是什么意思?
Hil*_*amp 36
JavaScript不支持多线程.但是,GWT有一个"模拟"线程的类,这不是真正的多线程,但在大多数情况下你会做你需要的:com.google.gwt.core.client.Scheduler.ScheduledCommand.该技术基于计时器类,该计时器类在给定时间过去之后执行方法.
例如,将以下代码放在您自己的代码中时,该scheduleDeferred方法将直接返回,并且您的代码在命令后继续,而该execute()方法使用计时器执行:
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute() {
.. code here is executed using the timer technique.
}
});
Run Code Online (Sandbox Code Playgroud)
您可以创建重复命令RepeatingCommand,该命令可用于多次运行命令.启动它将Scheduler.get().scheduleIncremental()执行命令,直到execute方法返回false.您可以使用它将任务拆分为子任务,以获得更好的"线程"行为.在Scheduler支持一些额外的方法以不同的方式启动一个调度命令.有关更多详细信息,请参阅JavaDoc.
使用新的GWT类而不是已弃用的类进行编辑和更新DeferredCommand.
| 归档时间: |
|
| 查看次数: |
19297 次 |
| 最近记录: |