阅读下列的程序publicclassDemoextendsThreadimplementsRunnable{-----①publicvoidrun(){System.out.println("thisisrun()");}publicstaticvoidmain(Stringargs[]){Threadthread=newThread(newDemo());-----②thread.start();}}下列关于程序运行结果的说法中,正确的是()
A. ①行出现编译错误
B. ②行出现编译错误
C. 出现运行错误
D. 程序正常执行输出thisisrun()
publicclassDemo{publicstaticvoidmain(String[]args){ThreadDemotd=newThreadDemo();Threadth1=newThread(td);Threadth2=newThread(td);th1.setName(“a”);th2.setName(“b”);th1.start();th2.start();}}classThreadDemoimplementsRunnable{publicvoidrun(){for(inti=0;i<5;i++){Stringname=Thread.currentThread().getName();if(“a”.equals(name)){System.out.print(“线程”+name+”让步”);Thread.___________;}}}}上述程序中,在横线位置补全下列哪段代码,可以实现线程a让步线程b()
A. Thread.sleep(10)
B. Thread.yield()
C. Thread.start()
D. Thread.wait()
下面关于静态同步方法说法错误的是()
A. 静态方法必须使用class对象来同步
B. 对于静态的同步方法而言,该方法的同步监视器不是this,而是该类本身。
C. 静态同步方法和以当前类为同步监视器的同步代码块不能同时执行。
D. 一个类中的多个同步静态方法可以同时被多个线程执行。
以下写法中可以正确定义一个同步代码块的是()
A. synchronized(常量){}
B. synchronized(对象){}
C. synchronized(){}
D. synchronized(任意基本数据类型){}