美文网首页
2019面试第二弹(关于线程和进程)

2019面试第二弹(关于线程和进程)

作者: JoyDang | 来源:发表于2019-08-12 22:14 被阅读0次

    2019面试第二弹(关于线程和进程)

    1.复习多线程?

    同步与互斥

    互斥:在多线程条件下,多个线程,独占性的排他性的 访问临界资源

    同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。

    首先,线程是资源调度的基本单位。

    同步与异步

    同步:线程访问临界资源时,阻塞的访问临界资源。

    异步:线程在访问临界资源时不会被阻塞

    2.线程与进程

    线程 进程 备注
    主要区别 线程是调度的基本单位 进程是分配资源的基本单位
    分配资源 1.线程ID 2.PCB控制块3.上下文信息 1.线程有的进程都有 2.自己的页表
    操作系统看两者 线程没有子线程这一说,所有线程都是对等的 进程有子进程和父进程,子进程得到的是除了代码段是与父进程共享的意外,其他所有的都是得到父进程的一个副本,子进程的所有资源都继承父进程,得到父进程资源的副本,既然为副本,也就是说,二者并不共享地址空间。两个是单独的进程,继承了以后二者就没有什么关联了,子进程单独运行。(采用写时复制技术)父进程会回收子进程的资源. 在Linux操作系统中,操作系统在执行起来时其实是无法来判断当前

    3.僵尸进程,孤儿进程,守护进程

    僵尸进程:一个父进程利用fork创建子进程,如果子进程退出,而父进程没有用wait()或者waitpid()来获取子进程的状态信息,那么子进程的状态依然被操作系统管理

    孤儿进程:一个父进程退出而它的子进程仍然还在运行,那么这些子进程会编程孤儿进程,孤儿进程将被1号进程所领养

    守护进程:(网上有一种说法把守护进程叫做“服务”,也就是windows服务列表跑的程序)守护进程是后台的特殊进程在系统启动时启动,完成任务后自动退出。

    4.关于java的进程

    在java中也可以创建进程,不过很少使用,大部分在java中用线程Java.lang.Process。java程序运行默认开两个线程,主线程和jvm虚拟线程.

    5.进程间通信

    管道,FIFO,信号量,共享内存,socket (学java的表示真没操作过进程,线程倒是有各种方式操做,所以这个问题一般我只接回答不会)

    6.虚拟地址空间

    相关文章

      网友评论

          本文标题:2019面试第二弹(关于线程和进程)

          本文链接:https://www.haomeiwen.com/subject/aiopjctx.html