請在這方面給我一些生動的解釋。 我已經嘗試了很多,但我無法弄清楚。如果start()方法在它自己的body中調用,Thread程序中會發生什麼?
我完全搞砸了開始方法調用的代碼段,就像在下面的程序中重複調用一樣,甚至在進入開始方法體之前如何調用第一次啓動方法。
在此先感謝。
package appletexample;
import java.awt.*;
import java.applet.*;
public class AppletOne extends Applet implements Runnable {
String str = "This is a simple Banner ";
Thread t ;
boolean b;
public void init() {
setBackground(Color.gray);
setForeground(Color.yellow);
}
public void start() {
t = new Thread(this);
b = false;
t.start();
}
public void run() {
char ch;
for(; ;) {
try {
repaint();
Thread.sleep(200);
ch = str.charAt(0);
str = str.substring(1, str.length());
str = str + ch;
} catch(InterruptedException e) {}
}
}
public void paint(Graphics g) {
g.drawRect(1,1,300,150);
g.setColor(Color.yellow);
g.fillRect(1,1,300,150);
g.setColor(Color.red);
g.drawString(str, 1, 150);
}
}
即使是新手到線程的概念,請給我清楚的圖片相關。並給我一些參考網站,瞭解線程概念與小程序和基於Web的編程。
這是什麼問題? – 2014-10-08 14:02:00