zoukankan      html  css  js  c++  java
  • java 多线程面试题

    1.什么是线程?

         线程是操作系统能够运行的最小调度单位,他被包含在进程中,是进程中实际运作的单位。

    2.线程和进程的区别

      线程是进程的子集,一个进程有很多线程,每个线程执行不同的任务,不同的进程使用不同的内存空间,而所有线程共享一片内存空间,每个线程都有单独的栈内存用来存储本地数据。

    3.如何在java中实现线程

      java。lang。Thread的实例就是一个线程,继承Thread或实现runnable接口

    4.用runnable接口,因为java不能实现多重继承

    5.Thread类的run和start方法有什么区别

      start方法用来启动新创建的线程,直接调用run在原来的线程中使用,没有启动新的线程,start方法才启动新的线程

    6.runnable和callable有什么不同

      callable的call方法可以返回值和抛出异常,而runnable的run方法没有,

    7.java内存模型是什么

      

    10 java中的volatile变量是什么?

      只有成员变量可以使用他,volatile变量可以保证下一个读取操作会在前一个写操作之后发生,

    11.什么是线程安全,vector是线程安全吗

      如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他变量的值也和预期的是一样的,就是线程安全的,

    12 java中什么是竞态条件,举个例子说明

      竞态条件会导致程序在并发情况下出现一些bugs,多线程对一些资源的竞争就会出现竞态条件,

    13 一个线程运行时发生异常会怎样?

      如果异常没有被捕获该线程将会停止执行

    14 两个线程如何实现共享数据

      可以通过共享对象来实现,

    15 什么是threadlocal变量

      每一个线程都有一个threadlocal就是每个线程都拥有自己独立的变量,竞争条件被彻底消除了,

    16 什么是futuretask

      表示一个可以取消的异步运算,他有启动和取消运算,

  • 相关阅读:
    我理解的优秀软件工程师
    Hello 博客园!
    线程安全与可重入函数之间的区别与联系
    linux-粘滞位的使用
    死锁产生的四个必要条件及处理死锁的策略
    数据结构—位图
    Linux下进度条的简单实现
    Linux-find命令
    Linux文件3个时间点(access time,modify time,change time)
    各种排序算法的实现、总结
  • 原文地址:https://www.cnblogs.com/suixin84/p/6492482.html
Copyright © 2011-2022 走看看