当前位置: 首页 > news >正文

免费建站哪个网站最好深圳wordpress培训

免费建站哪个网站最好,深圳wordpress培训,12306网站建设团队,微网站开发流程zk ui异步UI更新非常有用#xff0c;因为它们通常可以提高响应性#xff0c;可用性和用户界面的总体感觉。 我将在这里重点介绍ZK框架#xff0c;但是通常#xff0c;相同的原理也适用于桌面UI#xff08;Swing#xff0c;SWT#xff09;。 长时间运行的处理 有时您可能… zk ui 异步UI更新非常有用因为它们通常可以提高响应性可用性和用户界面的总体感觉。 我将在这里重点介绍ZK框架但是通常相同的原理也适用于桌面UISwingSWT。 长时间运行的处理 有时您可能需要进行数据库查询或者需要很长时间才能进行外部Web服务调用。 通常这些作业是同步的因此基本上在代码中有一个特定的点系统将必须等待结果并阻塞运行代码的线程。 如果最终在UI线程中运行了这样的代码则通常会完全阻塞UI。 实时更新 有时您不预先知道应更新UI中的某些内容的确切时间。 例如您可能有一个可视仪表用于显示应用程序中的用户数量。 当新用户进入应用程序时应尽快更新当前用户的UI以反映新用户数。 您可以使用基于计时器的机制来连续检查用户数量是否已更改但是如果同时存在的用户过多则即使UI中没有实际更新的内容连续检查也将导致非常重的负载。 基本概念 让我们首先摘录此博客文章的标题“异步UI更新和后台处理” 后台处理 在长时间运行的处理用例中减少UI阻塞的最明显方法是将昂贵的处理从UI线程转移到某些后台线程。 能够理解哪种线程将在应用程序的不同部分中运行代码非常重要。 例如在ZK应用程序中大多数代码由servlet线程执行这些线程基本上是servlet等效于UI线程的世界。 为了在某​​些后台线程中执行代码我们需要一个线程池。 最简单的方法是使用JDK5中引入的java.util.concurrent.ExecutorService。 我们可以将Runnable对象推送到ExecutorService因此我们基本上是在要求ExecutorService在某些后台线程中运行特定的代码块。 绝对关键的是使用ThreadLocals的框架会遇到这种方法的问题因为在servlet线程中设置的ThreadLocals在后台线程中将不可见。 一个例子是Spring Security默认情况下使用ThreadLocal来存储安全上下文用户身份其他东西。 异步UI更新 在这种情况下异步UI更新意味着什么 基本上这个想法是一旦我们有了一些要在UI中呈现的信息我们就会通知UI新数据异步而不是直接在后台线程中更新UI同步。 我们无法事先知道新信息何时可用因此我们无法从客户端请求信息除非我们使用昂贵的轮询。 服务器推送ZK 使用ZK基本上我们可以使用两种不同的方法来在后台线程获取新信息后更新UI。 名称“服务器推送”来自以下事实服务器具有一些必须推送到客户端的新数据而不是典型的工作流程客户端向服务器询问信息。 首先您可以通过使用Executions.activate / deactivate抢占对桌面的独占访问权限来进行同步更新。 我个人不鼓励这样做因为一旦您拥有独占访问权UI线程将不得不等待直到停用桌面。 这就是为什么我在这篇博客文章中根本不会介绍这种方法的原因。 另一方面异步更新是通过使用Executions.schedule完成的它符合常规事件处理的Event / EventListener模型。 这个想法是我们可以将普通的ZK Event对象推送到EventListeners客户端将被告知这些事件。 之后ZK使用Java脚本执行正常的AJAX请求事件将由EventListeners处理。 这意味着如果我们使用异步更新则所有实际的事件处理将由Servlet线程完成并且所有ThreadLocals照常可用。 这使编程模型非常简单因为您只需要普通的事件侦听器方法而无需复杂的并发编程。 这是一个小例子 public class TestComposer extends GenericForwardComposer {private Textbox search;public void onClick$startButton() {if (desktop.isServerPushEnabled()) {desktop.enableServerPush(true);}final String searchString search.getValue();final EventListener el this; // All GenericForwardComposers are also EventListeners// Dont do this in a real-world application. Use thread pools instead.Thread backgroundThread new Thread() {public void run() {// In this part of code the ThreadLocals ARE NOT available// You must NOT touch any ZK related things (e.g. components, desktops)// If you need some information from ZK, you need to get them before this code// For example here Ive read searchString from a textbox, so I can use the searchString variable without problemsString result ... // Retrieve the result from somewhereExecutions.schedule(desktop, el, new Event(onNewData, null, result));}};backgroundThread.start();}public void onNewData(Event event) {// In this part of code the ThreadLocals ARE availableString result (String) event.getData();// Do something with result. You can touch any ZK stuff freely, just like when a normal event is posted.} } 在下一部分中我将向您展示如何使用JDK5 ExecutorServices运行任务而无需手动创建线程。 如果您真的想了解ZK服务器推送还应该阅读相关的ZK文档 。 祝您编程愉快别忘了分享 参考 Advanced ZK异步UI更新和后台处理– Jawsy Solutions技术博客博客上的JCG合作伙伴 Joonas Javanainen的第1部分 。 翻译自: https://www.javacodegeeks.com/2012/09/advanced-zk-asynchronous-ui-updates-and.htmlzk ui
http://wiki.neutronadmin.com/news/63751/

相关文章:

  • 手机网站专题导航网站好处
  • 成都网站开发多少钱工程认证网站的建设
  • 什么颜色做网站好看网站开发说明
  • 做网站设计哪里有淮安做网站公司
  • 上海平台网站建设在线个人资料制作网站
  • 自己服务器建设网站建网站公司 深圳
  • 网站域名及空间购买学建筑的网站
  • 毕业设计网站建设英文文献如何做自已网站
  • 提供响应式网站建设阿里云国外服务器
  • 网站主机的类型徐州做网站哪里好
  • 新塘17网站一起做网店官网做舞台灯光的在哪些网站接订单呢
  • 网站制作 番禺wordpress seo什么意思
  • 从化免费网站建设郑州旅游网站设计
  • 湛江专业自助建站详细解读企业网站icp是什么
  • 十大网站在线观看域名解析到wordpress
  • 龙华网站建设推广外包猎头公司招聘信息
  • 宁波网站建设科技有限公司建站设计公司
  • 网页制作创建站点内容小程序源码网网盘
  • 我做网站可以赚钱吗公司建立网站流程图
  • 正版素材网站新闻最新热点
  • 做网站公司能赚钱吗彩票app开发制作多少钱
  • 做社交网站要注册哪类商标励志做的很好的网站
  • 游戏 网站 模板wordpress菜单栏设置
  • 网站开发遇到的问题车工订单网站
  • 网站建设多少钱宋柯yy大杂烩
  • 免费的微网站制作平台做网站用go语言还是php
  • 中国铁建网站分析无线传感网络的体系架构
  • 做外贸兼职的网站设计分销系统设计
  • 同一个空间可以做两个网站么湖南英文网站建设
  • 网站推广服务合同婚纱摄影类网站