IT入门 > 面试题 > Linux题库 >
  • 线程创建的方式有哪几种?

    2019/11/07 点击:4104

    使用初始函数创建线程; 使用类对象创建线程; 使用lambda匿名函数创建线程。

  • 为什么需要使用线程池?

    2019/11/07 点击:5691

    过于频繁地创建或销毁线程会带来大量系统开销,影响处理效率; 线程并发数量过多,抢占系统资源从而导致阻塞; 可以对线程进行一些简单的管理,如延时执行、定时循环执行。

  • 哪些资源是线程共享的?哪些资源是线程私有的

    2019/11/07 点击:1987

    线程共享:进程代码段、进程的公有数据、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID; 线程私有:线程ID、寄存器里的值、栈、线程的私有数据、

  • 多线程锁的种类有哪些?

    2019/11/07 点击:2684

    互斥锁、递归锁、自旋锁、读写锁。

  • 什么是死锁?死锁产生的原因是什么?

    2019/11/07 点击:1205

    死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,则这些进程都将无法向前推进。 死锁产生的原因:系统资源竞争、线程运行推进顺序不当。 死锁的四个

  • 如何预防死锁?如何避免死锁?

    2019/11/07 点击:3967

    p预防死锁的方法:核心思想是破坏死锁的四个必要条件之一,即 破坏请求与保持条件:采用预先静态分配的方法,即进程在运行前一次申请完它所需要的全部资源,在未满足全部资源时

  • 如何使用单线程处理高并发

    2019/11/07 点击:1208

    在单线程模型中,采用多路复用I/O来提高单线程处理多个请求的能力,然后采用事件驱动模型,基于异步回调来处理事件。

  • 同步和异步有什么区别?

    2019/11/07 点击:7347

    同步是指在发起一个调用之后,调用者需要一直等待调用结果的通知,才能进行后续的操作; 异步是指在发起一个调用之后,调用者不能立即得到调用结果的返回,需要被调用者通过状

  • 阻塞和非阻塞有什么区别?

    2019/11/07 点击:2176

    阻塞是指在发起一个调用之后,在消息返回之前,当前进程/线程会被挂起,直到有消息返回,当前进程/线程才会被激活; 非阻塞是指在发起一个调用之后,不会阻塞当前进程/线程,而

  • Linux的I/O模型包含哪五种?各自有什么特点?

    2019/11/07 点击:6655

    同步I/O 阻塞I/O:进程保持阻塞状态,直到数据拷贝完成; 非阻塞I/O:轮询检查内核数据,直到数据准备好,再拷贝数据到进程,进行数据处理;需要注意的是,拷贝数据的过程中,进