異步

異步非阻塞機制與多線程阻塞機制在處理並發耗時等待任務上的效率對比分析 2015-10-08

異步非阻塞機制與多線程阻塞機制在處理並發耗時等待任務上的效率對比分析
應用伺服器的效能分析是複雜的,關注點很多.比如典型場景Web伺服器+數據庫,底層網路鏈路和網路硬件效能姑且不論,單看:Web伺服器對靜態文件的讀寫與磁盤和文件系統IO效能緊密相關:對數據的處理和數據庫效能相關:而高並發訪問則關系到操作系統的線程.網路套接字以及異步網路模型的效率. 在數據量大的情況下,數據庫的效能成爲一個至關重要的因素,隨之帶來Web伺服器等待數據庫的時間.在此 ...

Ztree異步載入自動展開節點 2015-10-08

在Ztree的官網Demo中,有自動展開的例子,是通過設置節點屬性open:true來實現自動展開的,但是在異步載入中,這個屬性設置爲true也不會自動展開,因爲open:true是指在有子節點的情況下展開,在異步載入之前,當前節點是沒有子節點的,所以無法打開.異步載入自動展開解決方法如下:1.設置ztree的載入完成的回調函數:setting = {      ......                  callback: {        ......        onAsyncSuc

jquerystrutspoi異步導出excel 2015-10-08

記得上次去taobao面試,考官問我經營分析系統導出excel的功能如何實現的,我當時沒答上,不求甚解的後果!這回專案需要重新寫一個導出excel的功能,所以練手了.其實那考官非常好,我當時好多問題都沒答上,他很仔細耐心的給我講解了這些問題的考察內容和思路,給我了很大的啓發,所以我更加向往成爲一名js程序員,現在路上努力. 主要功能點,提供異步查詢數據導出excel功能. 不希望將excel保存在伺服器中,所以在伺服器的記憶體中生産excel stream後返回給客戶端, ajax請求接收到str

Google Guava 工具集__2__Cache 緩存使用 2015-10-08

Google Guava 工具集 博客欄目鏈接:Google Guava 博客欄目博客欄目涉及演示代碼 GitHub 地址: 點擊打開Guava 演示代碼包範例01LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder() 02        .maximumSize(1000) 03        .expireAfterWrite(10, TimeUnit.MINUTES) 04        .removalListener(M

Servlet3.0提供的異步處理 2015-10-07

    在以前的Servlet規範中,如果Servlet作爲控制器調用了一個耗時的業務方法,那麽Servlet必須等到業務方法完全返回之後才會生成回應,這將使得Servlet對業務方法的調用變成一種阻塞式的調用,因此效率比較低.Servlet3.0規範引入了異步處理來解決這個問題,異步處理允許Servlet重新發起一條線程去調用耗時的業務方法,這樣就可以避免等待.    Servlet3.0的異步處理是通過AsyncContext類來處理的,Servlet可通過ServletRequest的如下

浏覽器端異步超時檢測 2015-10-07

在寫JavaScript代碼的時候,異步回調是一個非常常見的特征.完善的回調會有和超時相關的設置,例如Ajax的timeout選項.那如果SDK提供的異步調用函數中沒有提供超時設置,在出現異常的時候就只能幹等了嗎?這當然是不能忍的.我們先構造一個沒有提供超時設置的回調函數:function myTimeout(options) {   options = options || {};   setTimeout(function () {     options.callback("called!

tomcat 7連接池配置與使用 2015-10-06

1.配置數據源Resource ,多種方式:a)存爲context.xml,于專案WebRoot/META-INF下:b)存爲專案名.xml,于$tomcat-home$\conf\Catalina\localhost下:c)Resource部分,粘貼于$tomcat-home$\conf\context.xml中<Context></Context>之間:d)設置爲全局連接池,Resource 部分粘貼于$tomcat-home$\conf\server.xml,<Glob

Android消息循環分析 2015-10-05

我們的常用的系統中,程序的工作通常是有事件驅動和消息驅動兩種方式,在Android系統中,Java應用程序是靠消息驅動來工作的.消息驅動的原理就是: 1. 有一個消息隊列,可以往這個隊列中投遞消息; 2. 有一個消息循環,不斷從消息隊列中取出消息,然後進行處理. 在Android中通過Looper來封裝消息循環,同時在其中封裝了一個消息隊列MessageQueue. 另外Android給我們提供了一個封裝類,來執行消息的投遞,消息的處理,即Handler.在我們的線程中實現消息循環時,需要創建L

實現Spring中的任務調度及異步執行 2015-10-04

    首先要端正一下本人的態度,開發了很長時間的Java Web專案,寄托于Spring MVC的架構,多數時間都是在處理業務邏輯問題,所以我個人單純地認爲Web開發,多線程的應用場景應該不多,能不用盡量不用(當然,有這樣的想法,那也是我個人多線程運用不多,理解不是很深刻,而且多線程並發操作需要面對和處理的問題很多,像共享資源上鎖等).但現在需要用到了,才明白多線程的應用場景是多麽的重要.所以這幾天開始在多線程方面進行了研究,下面總結我這幾天的理解和認知.    先闡述下,我在Web專案開發中

iOS深入學習NSNotificationCenter消息轉發是同步操作 2015-10-03

對象之間進行通信最基本的方式就是消息傳遞,在Cocoa中提供NSNotification Center機制來完成這一任務.其主要作用就是負責在任意兩個對象之間進行通信.使用方法很簡單,如下幾個步驟即可:假設A與B之間進行通信,B來觸發事件,A接收該時間,並作出回應.(1)A編寫自定義的消息回應函數update(2)A向消息中心注冊,[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(update) n

異步並發遞歸模型討論 2015-10-02

void hannoi_sync(int n, char A, char B, char C) { if (n == 1) { printf("Move disk %d from %c to %c\n", n, A, C); } else { hannoi_sync (n-1, A, C, B); printf("Move disk %d from %c to %c\n", n, A, C); hannoi_sync (n-1, B, A, C); } } 這是一個

unity3d 異步socket msgpack序列化 2015-10-01

using UnityEngine; using System.Collections; using System; using System.Threading; using System.Net; using System.Net.Sockets; using System.IO; using mutils; using scopely.msgpacksharp; using structs; public class AsyncSocket {   //單例模式 private stati

js異步調用實現 2015-09-30

使用場景: 由于網頁中有大量的As與JS交互.As載入與初始化過程比較長.當As未初始化完成,JS開始調用會導致JS報錯,影響後續JS的運行. 異步代碼: function Async(){ // 是否開始標記 this.isRead = false, this.fs = new Array(), // this對象 // 准備好了 this.read = function() { this.isRead = true; for(var i = 0; i<this.fs.length; i++)

jquery中post,get,ajax請求相關 2015-09-30

今天遇到了個問題,用jquery發現結果總是跟預想的不一樣.後來查了下才發現,jquery中post,get,ajax等方法是默認是異步進行的!然後就豁然開朗,如果想要修改默認post,get爲同步方式,則先使用$.ajaxSetup({ async: false }); 再用post,get就是同步的了.今天記錄下來,每天進步一點點.

異步處理模塊Gryphon 2015-09-30

異步處理模塊Gryphon
最近在寫一個異步處理模塊,叫Gryphon,可以直接通過配置spring bean的方式用于spring專案中,或者用于一般的java應用.寫這個模塊的主要原因是將之前代碼一些需要異步處理的程序和流程分離開來.這裏就簡單講講整個設計過程吧. 1.爲什麽要寫這個模塊 很多應用程序,特別是web應用在處理用戶請求時對相應時間的要求是極高的,所以我們會盡可能的將有效的運算結果返回給用 ...

七天學會ASP.NET MVC (六)線程問題、異常處理、自定義URL 2015-09-30

七天學會ASP.NET MVC (六)線程問題、異常處理、自定義URL
本節又帶了一些常用的,卻很難理解的問題,本節從文件上傳功能的實現引出了線程使用,介紹了線程饑餓的解決方法,異常處理方法,了解RouteTable自定義路徑 . 系列文章 七天學會ASP.NET MVC (一)--深入理解ASP.NET MVC 七天學會ASP.NET MVC (二)--ASP.NET MVC 數據傳遞 七天學會ASP.NET MVC (三)--ASP.Net M ...

並發隊列ConcurrentLinkedQueue與阻塞隊列LinkedBlockingQueue的區別 2015-09-30

並發隊列ConcurrentLinkedQueue與阻塞隊列LinkedBlockingQueue的區別
並發編程欄目代碼 GitHub package 地址: 點擊打開鏈接博客並發編程欄目 : 點擊打開鏈接在Java多線程應用中,隊列的使用率很高,多數生産消費模型的首選數據結構就是隊列.Java提供的線程安全的Queue可以分爲阻塞隊列和非阻塞隊列,其中阻塞隊列的典型例子是BlockingQueue,非阻塞隊列的典型例子是ConcurrentLinkedQueue,在實際應用中要 ...

一個一步操作的困擾 javascript 2015-09-30

異步編程的優點小弟就不再這裏給大家贅述,相信大家都很熟悉:但是目前小弟遇到了一件非常棘手的問題,正是異步編程給小弟帶來的困擾,廢話不多說,先貼代碼...       ps:小弟也是一個代碼殺手很多東西不太熟,這是一個純js專案,專案對小弟js.jquery作了一回惡補啊....  /* * 修改名稱 */ function changeItemName() {     var waitChange = $("li:visible:has(:checkbox[name=itemCheck]:che

android消息機制,異步和多線程 2015-09-30

android消息機制,異步和多線程
android消息機制,異步和多線程前言    在xxxx1.92正式版的時候付費購買曾單獨封裝了一個流程PaymentFlow並繼承于Handler,調用方只要依據這個流程創建流程實例並觸發開始,實例即可依據設定的支付流程完成.但在異步和多線程方面卻有'java.lang.RuntimeException: Can't create handler inside thread ...
一周排行