ͨ¹ýÒ³Ãæ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»ÄÜÍ£Ö¹
ÎÒÏÖÔÚÏëÓÃsshÕûºÏÀ´×öÒ»¸öÂÛ̳£¬µ«Êý¾Ý¿â·½Ãæ²»ÐУ¬ÎÒÖ÷Òª²»»áÉæ¼°Êý¾Ý¿â£¬²»ÖªµÀ·¢Ìû±í£¬ºÍ»ØÌû±íÒªÈçºÎÉè¼ÆºÍÇø·Ö¡£²»ÖªµÀËÓÐÒ»¸ö¼òµ¥µÄ˼·£¬À´Éè¼ÆÕâЩ±í¡£Ð»Ð»ÁË¡£
·¢ÌûºÍ»ØÌûÓÃͬһÕÅ±í ¡£·¢Ìû id user ......
ÎÒµÄjava applet ǶÈëhtmlºóÎÞ·¨ÏÔʾ£¬¶øÓÃappletviewerÏÔʾÕý³£ÎªÊ²Ã´£¬»¹ÓоÍÊÇÓÃhtml converterת»¯ºó¿ÉÒÔÏÔʾ£¬ÎªÊ²Ã´£¿Çë´óÏÀ´Í½Ì£¡
HTML code:
<HTML>
<HEAD>
<TITLE>TEST.HTML< ......