A.Runnable
B.Date
C.Calendar
D.Thread
A.同步代码块中的锁对象可以是任意类型的对象
B.当多个线程共享的锁对象必须是唯一的
C.当线程执行同步代码块时,首先会检查锁对象的标志位
D.锁对象的创建代码不能放到run()方法中
A.public class MyRunnable extends Runnable{public void run(){}}
B.public class MyRunnable extends Object{public void run(){}}
C.public class MyRunnable implements Runnable{public void run(){}}
D.public class MyRunnable extends Runnable{void run(){}}
A.public class MyRunnable extends Runnable { public void run(){} }
B.public class MyRunnable extends Object { public void run(){} }
C.public class MyRunnable implements Runnable {public void run(){}}
D.public class MyRunnable implements Runnable {void run(){}}
A.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
B.定义一个实现Runnable接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
C.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
D.定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法
A.定义一个新数组,并存放原数组的第一个元素,然后将元素组一一和新数组的元素对比,若不同则存放在新数组中。
B.先排序再去重,先将原数组排序,在与相邻的进行比较,如果不同则存入新数组
C.利用对象的属性去重(推荐),每次取出原数组的元素,然后再对象中访问这个属性,如果存在就说明重复
D.利用ES6的set去重
A.sleep是线程类(Thread)的方法,wait是Object类的方法
B.Sleep不释放对象锁,wait释放对象锁
C.Sleep暂停线程、但监控状态任然保持,结束后会自动恢复
D.Wait后进入等待锁定池,只针对此对象发出notify方法后获取对象锁进入运行状态