千锋学习的第27天
一、 一个单cpu的机器,如何同时执行多个线程?请简述其原理
多线程等待os时间片,宏观并行,实际串行实现。
二、(线程的创建)有以下代码。
public class Example implements Ruunable{
public void run(){
while(true){
}
}
public static void main(String args[]){
Example ex1=new Example();
Example ex2=new Example();
Example ex3=new Example();
ex1.run();
ex2.run();
ex3.run();
}
}
选择正确答案(C)
A代码编译失败,因为ex2 run()无法获得执行
B 代码编译成功,存在3个可运行的线程
C 代码编译成功,存在1个可运行的线程
三(线程的创建)有下面代码
class Example implements runnable{
public static void main(String args[]){
Thread t=new Thread(new Example());
t.start();
}
public void run(int limit){
for(int x=0; x<limit;x++){
System.out.println(x);
}
}
}
选择正确答案:(C)
A 打印输出,从0至limilt
B 无内容输出,因为没有明确调用run()方法;
C 代码编译失败,因为没有正确实现Runnable接口
D 代码编译失败,如果声明类为抽象类,可使代码编译成功
E 代码编译失败,如果去掉implements Runnable,可使代码编译成功
四(sleep 方法)有如下代码
class Example{
public static void main(String[] args){
Thread.sleep(3000);
System.out.println(“Sleep”);
}
}
选择正确答案(**A)
A 编译出错**
B 运行时异常
C 正常编译运行,输出Sleep
D正常编译运行,但是没有内容输出
五(线程的创建)创建两个线程,要求如下
1 一个线程输出100个1-26,另一个线程输出100个a-z
2一个线程使用继承