public class lazyMan {
private lazyMan(){
System.out.println(Thread.currentThread().getName()+"OK");
}
private static lazyMan lazyman;
public static lazyMan getInstance(){
if(lazyman == null){
lazyman = new lazyMan();
}
return lazyman;
}
public static void main(String[] args) {
for(int i=0;i<10;i++){
new Thread(()->{
lazyMan.getInstance();
}).start();
}
}
}其中的
new Thread(()->{
lazyMan.getInstance();
}).start();改成非lambda運算式,怎么修改?
uj5u.com熱心網友回復:
new Thread() {@Override
public void run() {
lazyMan.getInstance();
}
}.start();
uj5u.com熱心網友回復:
public class lazyManThread extends Thread{@Override
public void run() {
lazyMan.getInstance();
}
}
修改下main方法
lazyManThread thread = new lazyManThread ();
thread.run();
uj5u.com熱心網友回復:
new Thread() {@Override
public void run() {
lazyMan.getInstance();
}
}.start();
uj5u.com熱心網友回復:
這上面是jdk1.8代碼沒問題,但改為1.6還是有問題,執行緒的lambda還請多指點下
這上面是jdk1.8代碼沒問題,但改為1.6還是有問題,執行緒的lambda還請多指點下
uj5u.com熱心網友回復:
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
lazyMan.getInstance();
}
}).start();
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/172174.html
標籤:Java SE
上一篇:求最大公約數
