新建,,就绪,运行,阻塞,死亡
synchronized (Object) {
for (;;) {
if (ticket > 0) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + ": " + ticket);
ticket--;
}
}
}
class Bank {
private Bank() {}
private static Bank instance = null;
public static Bank getInstance() {
if (instance == null) {
synchronized (Bank.class) {
if (instance == null) {
instance = new Bank();
}
}
}
return instance;
}
}
// 1.指定线程数量的连接池
ExecutorService service = Executors.newFixedThreadPool(10);
ThreadPoolExecutor service1 = (ThreadPoolExecutor) service;
// 设置线程池属性
service1.setCorePoolSize(0);
// 2.执行线程池操作,需要提供实现Runnable接口或Callable接口实现类的对象
service.execute(new NumberThread());
// 3.关闭连接池
service.shutdown();
原文:https://www.cnblogs.com/wujie-code/p/15252772.html