2009年4月16日星期四

在Blogger中让代码着色

Google code prettify用于web页面code着色显示。
http://google-code-prettify.googlecode.com/svn/trunk/README.html

按照这篇文章(http://sls.weco.net/blog/rjrsjajawhu/26-dec-2008/11929)的讲述,
三步就可以让blogger中发布的code获得语法着色功能。
package com.dh.tcl;

public class TclTest {

private Thread t;
private Thread t2;

private EventProcessingThread ep;
private EventProcessingThread ep2;

public TclTest() {
startEventProcessThread();
}


private void startEventProcessThread() {
ep = new EventProcessingThread();
t = new Thread(ep);
t.setDaemon(true);
t.start();

ep2 = new EventProcessingThread();
t2 = new Thread(ep2);
t2.setDaemon(true);
t2.start();

// Wait for other Thread to get ready
while (ep.interp == null || ep.interp2 == null
|| ep2.interp == null || ep2.interp2 == null) {
try {Thread.sleep(10);} catch (InterruptedException e) {}
}

}

public void printInfo() {
System.out.println(ep.interp.getNotifier());
System.out.println(ep.interp2.getNotifier());

System.out.println(ep2.interp.getNotifier());
System.out.println(ep2.interp2.getNotifier());
}


public static void main(String[] args) {
TclTest test = new TclTest();
test.printInfo();
}

}
程序输出:
tcl.lang.Notifier@dd5b
tcl.lang.Notifier@dd5b
tcl.lang.Notifier@c4bcdc
tcl.lang.Notifier@c4bcdc
可见,在不同线程中创建的Interp对象所对应的Notifier对象是不同的。
但是同一线程中Interp对象的notifier对象是相同的。