Java选择题练习:线程(牛客网)

Java选择题练习:线程

1.高优先级的线程比低优先级的线程运行得更快。

  • 正确答案: B
    A、对
    B、错

解析:此题注意是文字游戏,高优先级的线程与低优先级的线程只是运行的优先级,没有速度上比谁快。

2.java用()机制实现了线程之间的同步执行

正确答案: A
A、监视器
B、虚拟机
C、多个CPU
D、异步调用

解析:简单来说,监视器用来监视线程进入这个特别房间,他确保同一时间只能有一个线程可以访问特殊房间中的数据和代码。

3.以下程序的运行结果是?
在这里插入图片描述
正确答案: A
A、foobar
B、barfoo
C、foobar或者barfoo都有可能
D、Bar
E、Foo
F、程序无法正常运行

解析:没有start()方法启动线程
这道题是考线程的调用情况,线程的启动方式只能通过start这种方式启动才能真正的实现多线程的效果,如果是手动调用run方法和普通方法调用没有区别,所以这个还是按照顺序执行首先执行run方法之后,执行输出语句所以最终得到结果foobar.

4.下列说法正确的是( )

正确答案: C
A、volatile,synchronized 都可以修改变量,方法以及代码块
B、volatile,synchronized 在多线程中都会存在阻塞问题
C、volatile能保证数据的可见性,但不能完全保证数据的原子性,synchronized即保证了数据的可见性也保证了原子性
D、volatile解决的是变量在多个线程之间的可见性、原子性,而sychroized解决的是多个线程之间访问资源的同步性

解析:
synchronized: 具有原子性,有序性和可见性;(三个都有)
volatile:具有有序性和可见性(缺一个原子性)

5.一个容器类数据结构,读写平均,使用锁机制保证线程安全。如果要综合提高该数据结构的访问性能,最好的办法是______。

正确答案: C
A、只对写操作加锁,不对读操作加锁
B、读操作不加锁,采用copyOnWrite的方式实现写操作
C、分区段加锁
D、无法做到

解析:
A、只对写操作加锁,不对读操作加锁,会造成读到脏数据
B、CopyOnWrite的核心思想是利用高并发往往是读多写少的特性,对读操作不加锁,对写操作,先复制一份新的集合,在新的集合上面修改,然后将新集合赋值给旧的引用。这里读写平均,不适用
C,分段加锁,只在影响读写的地方加锁,锁可以用读写锁,可以提高效率

6.下面关于JAVA的垃圾回收机制,正确的是( )

正确答案: B
A、当调用“System.gc()”来强制回收时,系统会立即回收垃圾;
B、垃圾回收不能确定具体的回收时间;
C、程序可明确地标识某个局部变量的引用不再被使用;
D、程序可以显式地立即释放对象占有的内存。

解析:java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。 当对象的引用变量被赋值为null,可能被当成垃圾。

7.以下程序运行的结果为 ( )

public class Example extends Thread{
@Override
	public void run(){
		try {
		Thread.sleep(1000);
		} catch (InterruptedException e){
			e.printStackTrace();
		}
		System. out .print( "run" );
	}
public static void main(String[] args){
	Example example= new Example();
	example.run();
	System. out .print( "main" );
	}
}

正确答案: A
A、run main
B、main run
C、main
D、run
E、不能确定

解析:example调用run(),而不是启动线程的start(),所以该程序会依次执行,先打印run,再打印main,所以选A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值