zkoss 的 執行緒 以及 push

2021-05-21 23:18:15 字數 1512 閱讀 4238

package de.valuegrids;

import org.zkoss.lang.threads;

public class serverpushtext

public static void stop() throws interruptedexception

private static class workingthread extends thread

public void run()

} catch (exception ex)

}public void init() }}

伺服器推動

伺服器推動即所謂的反向ajax(reverse-ajax),允許伺服器將內容動態的發至客戶端。

通過使用伺服器推動技術,當你預先定義的條件滿足時,則可以在工作執行緒內將內容發

至客戶端或更新客戶端的內容。使用伺服器推動很簡單,僅需要如下的三步,

1. 使用 desktop.enableserverpush(boolean bool)為桌面呼叫啟用

伺服器推動。

2. 將需要更新的組傳遞至工作執行緒。

3. 在桌面內呼叫工作執行緒。

[注]:你需要安裝zkex.jar 或zkmax.jar 來使用伺服器推動,除非你有自己

org.zkoss.zk.ui.sys.serverpush 的實現。

現在讓我們來看乙個實際的例子。若你想使用伺服器推動更新客戶端的數字,首先要為

桌面啟用伺服器推動,然後呼叫執行緒,如下。

import test.workingthread;

workingthread thread;

void startserverpush()

void stopserverpush()

例子:package de.valuegrids;

import org.zkoss.lang.threads;

import org.zkoss.zk.ui.component;

import org.zkoss.zk.ui.desktop;

import org.zkoss.zk.ui.executions;

import org.zkoss.zul.label;

import org.zkoss.zul.messagebox;

public class serverpushtext else

}public static void stop() throws interruptedexception else

}private static class workingthread extends thread

public void run()

// here to activate desktop

executions.activate(this.desk);

try finally

threads.sleep(1000);

}} catch (exception ex) }}

}

git的push以及遇到衝突解決

一 正常push過程 git add git status git commit m test git push origin 分支名 二 假如有衝突,會在git push這裡報錯 1 方式一 git fetch origin 遠端分支名 新建本地臨時分支名 git merge 新建本地臨時分支名 ...

多執行緒下std list的遍歷與push

乙個執行緒往list中push資料,乙個執行緒遍歷該list然後進行操作。沒有試驗,我猜測可能會有多執行緒安全問題。解決辦法,如果對遍歷的資料進行加鎖,可能性能有損失。我使用了如下這種方法,記錄在案。使用乙個臨時的list,比如,std listreadables 遍歷時使用的 std listre...

ADB命令 安裝解除安裝以及push命令

進入windows下的cmd 輸入adb root獲取許可權,輸入命令adb remount,意思是將裝置改為可讀可寫 顯示remount succeeded就代表命令執行成功 c users jld cd adb c users jld adb cd platform tools c users ...