package com.a;public class a {
public static void main(String[] args) {
System.out.println("11111111111111");
boolean bl = ad();//这里卡住了。
System.out.println(bl + ""); System.out.println("22222222222222");
}
public static boolean ad(){
boolean bl = isbl("aaaa");//这里就会卡住了。
if(bl){
return false;
}else{
return true;
}
}
public static boolean isbl(String s){
//这里是耗时操作,大概5~10秒
}
}上面的输出结果:
11111111111111
false
22222222222222
我要的输出结果:
11111111111111
22222222222222
false----------
请问高手应该怎么做啊?请高手详细说一下。
boolean bl = ad();//这里卡住了。
System.out.println(bl + ""); System.out.println("22222222222222");改成:
boolean bl = ad();//这里卡住了。
System.out.println("22222222222222");
System.out.println(bl + "");另外,按规范讲,类名首字母要大写. 把代码放在java 代码框里,更易读。
{
public static void main(String[] args)
{
boolean b1 = false;
new Thread(new PrintThread(b1 + "", 500)).start(); //这个线程最早开始但是休眠500毫秒所以最后输出
new Thread(new PrintThread("22222222222222", 200)).start(); //这个线程第二开始但是休眠200毫秒
new Thread(new PrintThread("11111111111111", 0)).start(); //这个虽然最后执行但是没有休眠所以最早输出
}
}class PrintThread implements Runnable //要实现多线程必须实现这个接口并实现run()方法
{
String print;
int sleepTime;
public PrintThread(String print,int sleepTime) {
this.print = print;
this.sleepTime = sleepTime;
}
public void run() //这个就是各个线程具体执行内容
{
try {
Thread.sleep(sleepTime); //会抛出异常必须捕获
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(this.print);
}
}