niusouti.com

Java中,多线程访问某个共享资源可能出现线程安全问题,此时可以使用()关键字来实现线程同步(如同步方法或同步块),从而避免安全问题出现,但会影响性能,甚至出现死锁。

题目

Java中,多线程访问某个共享资源可能出现线程安全问题,此时可以使用()关键字来实现线程同步(如同步方法或同步块),从而避免安全问题出现,但会影响性能,甚至出现死锁。


相似考题
更多“Java中,多线程访问某个共享资源可能出现线程安全问题,此时可以使用()关键字来实现线程同步(如同步方法或同步块),从而避免安全问题出现,但会影响性能,甚至出现死锁。”相关问题
  • 第1题:

    在多线程应用中,为使线程间的某些操作同步,一般使用____同步对象。请列举在应用此对象时要用的API函数()。


    正确答案:
     

  • 第2题:

    下面关于死锁的说法中错误的是( )。

    A.释放锁时要按加锁的反序释放

    B.多线程同时访问相同数据时可能造成死锁

    C.死锁完全由程序进行控制

    D.Java中具有检测与避免死锁的专门机制,可以防止死锁


    正确答案:D
    解析:Java中没有提供检测与避免死锁的专门机制,但应用程序员可以采用某些策略防止死锁的发生。

  • 第3题:

    线程的常见方法有哪些,你是如何处理多线程的,多线程同步问题你了解么?


    正确答案: 线程创建的几种方式,线程的加锁,休眠,唤醒,解锁,退出,多线程要考虑同步问题,解决同步问题的方式就是对某一资源加锁,当一个线程操作本资源时,其他线程不能操作。
    系统自带线程池(NSOpertionQueuE.的作用(凡是需要启动多个线程的地方都可以使用NSOpertionQueue,加入到NSOpertionQueue中的对象都需要继承NSOpertion。NSOpertionQueue会在系统内部启动一个独立线程去执行这个被加入对象的main方法。常用的地方是用nsoprationqueue下载图片,文件。如果是自己创建一个线程池,无非就是启动多个线程的时候,把这些线程对象放到一个大数组中,如果需要启动线程的时候,先从数组中找空闲线程来使用。自己管理线程池最大的难题是不好处理当启动多个线程后,用户在多个界面的跳转的时候,对线程方法的回调管理。而NSOpertionQueue可以很好的处理他。

  • 第4题:

    对于线程局部存储TLS(thread local storage),以下表述正确的是()。

    • A、解决多线程中的对同一变量的访问冲突的一种技术
    • B、TLS会为每一个线程维护一个和该线程绑定的变量的副本
    • C、每一个线程都拥有自己的变量副本,从而也就没有必要对该变量进行同步了
    • D、Java平台的java.lang.ThreadLocal是TLS技术的一种实现

    正确答案:A,B,D

  • 第5题:

    多个线程操作同一资源的时候需要注意同步,依靠()实现,实现手段是:同步代码块和同步方法,过多的使用,则会出现死锁问题。


    正确答案:synchronized关键字

  • 第6题:

    对于死锁的描述,下面四种说法正确有哪些?()

    • A、当两个线程互相等待对方释放同步锁时会发生死锁
    • B、Java虚拟机没有检测和处理死锁的措施
    • C、一旦出现死锁,程序会发生异常
    • D、处于死锁状态的线程处于阻塞状态,无法继续运行

    正确答案:A,B,D

  • 第7题:

    关于同步关键字的说法错误的是()

    • A、如果一个线程在执行同步方法时没有执行完毕代码就耗尽了时间片,其他线程在获得了运行权之后就可以运行了。
    • B、为防止时间片耗尽导致的代码没有完全执行完毕的情况发生,可以考虑利用同步关键字。
    • C、利用同步关键保证只有当一个线程彻底执行完方法后,其他线程才能运行该方法。
    • D、等待失去时间片的线程执行完毕代码后,才能访问该方法。

    正确答案:A

  • 第8题:

    线程同步执行过程中,wait方法与()方法是匹配使用,否则易造成死锁。


    正确答案:notify

  • 第9题:

    填空题
    多线程是java程序的()机制,它能同步共享数据,处理不同事件。

    正确答案: 并发
    解析: 暂无解析

  • 第10题:

    单选题
    关于线程以下说法错误的有()
    A

    新起一个线程,都要使用Thread.setName(“…”)设置线程名

    B

    在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,使用StringBuffer

    C

    对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题

    D

    线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽


    正确答案: A
    解析: 暂无解析

  • 第11题:

    单选题
    使用Delphi多线程的优点是()
    A

    程序运行速度加快

    B

    不需要考虑同步访问共享资源与内存

    C

    程序编写更简单

    D

    可以在后台运行线程

    E

    不会是Windows出错


    正确答案: D
    解析: 暂无解析

  • 第12题:

    填空题
    多个线程操作同一资源的时候需要注意同步,依靠()实现,实现手段是:同步代码块和同步方法,过多的使用,则会出现死锁问题。

    正确答案: synchronized关键字
    解析: 暂无解析

  • 第13题:

    下列说法中,错误的一项是______。

    A.线程有其产生、存在和消亡的过程

    B.一个进程可以创建多个线程

    C.Java需要利用外部的线程支持库来实现多线程

    D.在Java语言中支持多线程


    正确答案:C

  • 第14题:

    多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?


    正确答案:

    1第一种解答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
    同步的实现方面有两种,分别是synchronized,wait与notify

    2第二种解答:有人提出也可以这样:多线程 1. 继承 Thread 类 2. 实现 Runnable 接口再 new Thread(YourRunnableOjbect) 推荐 线程同步 1. 用 synchronized 修饰需要同步的方法 2. 用 synchronized 块包围需要同步的语句 3. 使用 java.util.concurrent 包中的各种同步锁

  • 第15题:

    多线程有几种实现方法,线程间同步有几种实现方法,都是什么?


    正确答案: 两种实现方法,一种是继承Thread,另外一种是实现接口Runnable。同步的实现方法有两种,分别是synchronized,wait与notify。用synchronized可以对一段代码、一个对象及一个方法进行加锁。用wait与notify可以使对象处于等待及唤醒方式导致同步,因为每个对象都直接或间接的继承了Object类。

  • 第16题:

    多线程是java程序的()机制,它能同步共享数据,处理不同事件。


    正确答案:并发

  • 第17题:

    在多线程环境中,对于同步方法()

    • A、测试代码不需同步
    • B、测试代码需同步
    • C、测试代码在测试该方法时不需同步
    • D、测试代码在测试该方法时需同步

    正确答案:C

  • 第18题:

    线程同步中,对象的锁在()情况下持有线程返回

    • A、 当synchronized()语句块执行完后
    • B、 当在synchronized()语句块执行中出现例外(exception)时
    • C、 当持有锁的线程调用该对象的wait()方法时
    • D、 以上都是

    正确答案:D

  • 第19题:

    关于线程以下说法错误的有()

    • A、新起一个线程,都要使用Thread.setName(“…”)设置线程名
    • B、在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,使用StringBuffer
    • C、对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题
    • D、线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽

    正确答案:B

  • 第20题:

    多线程之间怎样进行同步?


    正确答案:可以通过使用关键字synchronized,使用对象的wait()、notify()方法来实现线程间的同步。

  • 第21题:

    填空题
    线程同步执行过程中,wait方法与()方法是匹配使用,否则易造成死锁。

    正确答案: notify
    解析: 暂无解析

  • 第22题:

    单选题
    在多线程环境中,对于同步方法()
    A

    测试代码不需同步

    B

    测试代码需同步

    C

    测试代码在测试该方法时不需同步

    D

    测试代码在测试该方法时需同步


    正确答案: B
    解析: 暂无解析

  • 第23题:

    问答题
    线程的常见方法有哪些,你是如何处理多线程的,多线程同步问题你了解么?

    正确答案: 线程创建的几种方式,线程的加锁,休眠,唤醒,解锁,退出,多线程要考虑同步问题,解决同步问题的方式就是对某一资源加锁,当一个线程操作本资源时,其他线程不能操作。
    系统自带线程池(NSOpertionQueuE.的作用(凡是需要启动多个线程的地方都可以使用NSOpertionQueue,加入到NSOpertionQueue中的对象都需要继承NSOpertion。NSOpertionQueue会在系统内部启动一个独立线程去执行这个被加入对象的main方法。常用的地方是用nsoprationqueue下载图片,文件。如果是自己创建一个线程池,无非就是启动多个线程的时候,把这些线程对象放到一个大数组中,如果需要启动线程的时候,先从数组中找空闲线程来使用。自己管理线程池最大的难题是不好处理当启动多个线程后,用户在多个界面的跳转的时候,对线程方法的回调管理。而NSOpertionQueue可以很好的处理他。
    解析: 暂无解析

  • 第24题:

    问答题
    多线程有几种实现方法,线程间同步有几种实现方法,都是什么?

    正确答案: 两种实现方法,一种是继承Thread,另外一种是实现接口Runnable。同步的实现方法有两种,分别是synchronized,wait与notify。用synchronized可以对一段代码、一个对象及一个方法进行加锁。用wait与notify可以使对象处于等待及唤醒方式导致同步,因为每个对象都直接或间接的继承了Object类。
    解析: 暂无解析