A.创建工作队列每次传递一个Intent到onHandleIntent()方法实现,这样就不必担心多线程
B.创建区别于应用程序主线程的默认工作线程来执行发送到onStartCommand()方法的全部Intent
C.提供的常用的发送和处理消息的方法
D.启动客户端
A.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
B.定义一个实现Runnable接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
C.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
D.定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法
B.newCachedThreadPool()创建一个可缓存的线程池,如果线程池的规模超过了处理需求,将自动回收空闲线程,而当需求增加时,则可以自动添加新线程,线程池的规模不存在任何限制
C.newSingleThreadExecutor()创建了一个固定长度的线程池,而且以延迟或定时的方式来执行任务,类似于Timer
D.newScheduledThreadPool(int corePoolSize)这是一个单线程的Executor,它创建单个工作线程来执行任务,如果这个线程异常结束,会创建一个新的来替代它;它的特点是能确保依照任务在队列中的顺序来串行执行
线程每次只能取100元。创建两个线程,从账户取钱,分析可能发生的冲突。Account类定义如下所示。