Java第七章多线程课后题目_[转载]java 多线程(习题)

本文详细探讨了Java多线程的相关概念,包括线程创建、状态转换、数据共享和同步。通过一系列练习题,讲解了线程如何在单CPU环境下并发执行、线程创建的正确方式以及sleep()方法的使用等。还涵盖了线程同步的重要性,并提供了多个代码示例,如线程间的协作、同步问题及解决方案。
摘要由CSDN通过智能技术生成

线程

Key Point

* 线程的概念

* 线程的创建

* 线程的状态转换

* 线程间数据共享

* 线程的同步

练习

1. 一个单CPU 的机器,如何同时执行多个线程?请简述其原理

2. (线程的创建)有以下代码

public class Example implements Runnable {

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();

}

}

选择正确答案:

A. 代码编译失败,因为ex2.run()无法获得执行

B. 代码编译成功,存在3 个可运行的线程

C. 代码编译成功,存在1 个可运行的线程

3. (线程的创建)有以下代码

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

System.out.println(x);

}

}

}

选择正确答案:

A. 打印输出,从0 至limit

B. 无内容输出,因为没有明确调用run()方法。

C. 代码编译失败,因为没有正确实现Runnable 接口

D. 代码编译失败,如果声明类为抽象类,可使代码编译成功。

E. 代码编译失败,如果去掉implements Runnable,可使代码编译成功。

4. (sleep 方法)有如下代码

class Example {

public static void main(String args[]) {

Thread.sleep(3000);

System.out.println(“sleep”);

}

}

选择正确答案:

A. 编译出错

B. 运行时异常

C. 正常编译运行,输出sleep

D. 正常编译运行,但没有内容输出

5. (线程的创建)有如下代码

class Example extends Thread {

public void run() {

System.out.println(“Running”);

System.out.println(“Done”);

}

private void xxx() {

System.out.println(“In xxx”);

}

public static void main(String args[]){

Example ttt = new Example();

ttt.start();

ttt.xxx();

}

}

以上代码是否会打印“In xxx”?

6. (线程的创建)创建两个线程,要求如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值