不知道楼主要实现什么功能你在while ( singleton == null ) {
Toolkit.class.wait(100);
initToolkit();
}不就可以了吗?
Toolkit.class.wait(100);
initToolkit();
}不就可以了吗?
解决方案 »
- 初学java遇到的编译问题。
- 新手:怎样从键盘输入一个数啊?
- 如何将基本类型的字符串形式转换为对应的Class,例如:将字符串"int"转换为对应的Class(与int.class一样的类型)
- 请问SimpleDateFormat问题,对日期format后生成字符串,在对此字符串format就出错,不知道为什么?
- 这个Applet谁知道我给谁,磕头!!!
- JAVA 如何读取客户机的硬盘序列号?
- 想做个响应的选择匡,菜鸟求~~
- 请教有关java和vrml的问题
- 关于file copy的问题
- 救命啊!java Tcp上传文件竟然丢失部分数据!!!
- 程序有些问题,请帮我看看!!谢谢!!!!
- 在jbuilder 中我想把图标 加 在panel中怎么加啊 是不是把图标放在同一目录下啊 怎么操作啊
class NativeCollector extends Thread {
static int i;
NativeCollector () {
super ( "awt-native" );
} public void run() {
Toolkit.initToolkit();
}
}
class waitThread extends Thread {
static int i;
waitThread () {
super ( "awt-native1" );
} public void run() {
try {
synchronized ( Toolkit.class) {
while ( Toolkit.singleton == null ) {
System.out.println("wait");
Toolkit.class.wait();
}
}
}
catch ( Exception x ) {
x.printStackTrace();
}
}
}public class Toolkit {
static Toolkit singleton;
static NativeCollector collectorThread; static void test() {
//static {
collectorThread = new NativeCollector();
collectorThread.start();
try {
synchronized ( Toolkit.class) {
while ( singleton == null ) {
System.out.println("wait");
Toolkit.class.wait();
}
}
}
catch ( Exception x ) {
x.printStackTrace();
}
} Toolkit () {
} static synchronized void initToolkit() {
singleton = new Toolkit();
System.out.println("notifyAll");
Toolkit.class.notifyAll();
} public static void main(String [] args) {
waitThread waitT = new waitThread();
waitT.start();
NativeCollector collectorThread = new NativeCollector();
collectorThread.start(); }
}
class NativeCollector extends Thread {
static int i;
NativeCollector () {
super ( "awt-native" );
} public void run() {
Toolkit.initToolkit();
}
}public class Toolkit {
static Toolkit singleton;
static NativeCollector collectorThread; static {
class inner extends Thread
{
public void run() {
try {
synchronized ( Toolkit.class) {
while ( Toolkit.singleton == null ) {
System.out.println("wait");
Toolkit.class.wait();
}
}
}
catch ( Exception x ) {
x.printStackTrace();
}
}
}
inner w=new inner();
w.start();
collectorThread = new NativeCollector();
collectorThread.start();
} Toolkit () {
} static synchronized void initToolkit() {
singleton = new Toolkit();
System.out.println("notifyAll");
Toolkit.class.notifyAll();
} public static void main(String [] args) {
}
}