ͨ¹ýÒ³ÃæjsfÖеÄÁ½¸ö°´Å¥À´¿ØÖÆÏ̵߳ÄÖ´ÐУ¬start°´Å¥¿ªÆôỊ̈߳¬stop°´Å¥Í£Ö¹Ï̡߳£¿ÉÊÇ¿ªÆôÏ̺߳ó£¬ÔÚµ÷ÓÃstop°´Å¥Í£Ö¹Ị̈߳¬¾ÍÊÇÍ£Ö¹²»ÁË¡£
package com.digi.cda.bath.test;
public class MyThread extends Thread {
private volatile boolean flag;
public void setFlag(boolean flag) {
this.flag = flag;
}
@Override
public void run() {
while(flag) {
System.out.println("doJob");
}
}
public synchronized void stopCurrentThread() {
this.flag = false;
}
}
Ï£Íûͨ¹ýµ÷ÓÃstopCurrentThreadÀ´Í£Ö¹Ï̡߳£
ÖØÐ´start·½·¨ ÀïÃæ¼Ó¸öflag¾ÍºÃÁË
run°É?
лл£¡ÄÜ˵µÄÏêϸµãÂð£¿
MyThread myThread = new MyThread();
myThread.start();µ÷ÓÃThreadµÄstart·½·¨¿ªÆôÏß³Ì
jsfÖÐÓиöstop°´Å¥£¬µ÷ÓÃËü¾Í»áµ÷ÓÃmythread.stopCurrentThread();
runº¯ÊýÀï¼ÓÒ»¸ösleep(0);
²¢²¶»ñInterruptedExceptionÒì³££¬
µ±Ö´ÐÐstopº¯Êýʱ¾Í»áÅ׳öÕâ¸öÒì³£
×îºÃµÄ·½·¨¾ÍÊǼӸöflagÀ´¿ØÖÆÏß³Ì
¿ÉÒÔʹÓÃinterrupt()
ÖØÐ´start·½·¨²»¿ÉÒÔ£º
@Override
public synchronized void start() {
super.start();
this.flag = true;
}
jsf£¬stop°´Å¥µ÷Óõ±Ç°Ïß³Ìmythread.stopCurrentThread();»¹ÊDz»ÄÜÍ£Ö¹
ÎÒÏë×ö¹»¹ºÎï³µÓÃsession µ«ÊDz»ÖªµÀÔõô»ñÈ¡¹ºÂòÊýÁ¿ ËÓоßÌåµÄ´úÂëÂð Ï£ÍûÄܸîÉá
ÏÂÃæÊǹºÎï³µµÄºËÐÄ´úÂë
ÓÐÁËÕâ¸ö ¾ÍÓ¦¸ÃÄܹ»×ö³öÀ´°É
Java code:
public void doPost(HttpServletRequest reque ......
ÎÒÏÖÔÚÓÃstruts2¿ò¼Ü,ÐèҪʹÓÃajaxʵÏÖ¾Ö²¿Ë¢Ð£¬µ«ÊÇ´ÓÈÝÆ÷Àï·µ»ØµÄÖµ²»ÖªµÀÔõô´Óstruts.xmlÅäÖÃÎļþÀïÓ³Éäµ½jspÒ³ÃæÀÒÔǰservletÀïдout.orint("xxxxx")¾Í¿ÉÒԵõ½~£¬µ«ÊÇÏÖÔÚÓÃstruts¾Í²»ÖªµÀÔõôР......