zoukankan      html  css  js  c++  java
  • 线程

    1线程和进程的区别

    进程拥有PCB,独享地址空间;线程也拥有PCB但共享内存空间。

    2.线程共享的资源

    1)线程共享文件描述符

    2)线程共享信号的处理方式

    3)线程共享内存地址空间

    4)线程共享用户id和2)组id

    3.线程独享资源

    1)线程独享信号屏蔽字

    2)线程独享线程id

    3)线程独享栈空间

    4)调度优先级

    5)线程独享errno变量

    4.线程的优缺点

    1)优点:提升了程序的并发行;线程的开销小;数据通信和共享数据方便

    2)缺点:库函数相对于系统调用不稳定,不支持gdb调试;对信号的支持不好

    5.线程进程与共享

    线程共享数据段、代码段等内存地址空间,常用的是全局变量;而进程不能共享全局变量,必须通过mmap产生映射区才行。

    6.只终止线程而不终止进程的三种方法

    1)从线程主控函数中return

    2)一个线程可以调用pthread_cancel()来终止同一进程中的另一个线程

    3)线程可以调用pthread_exit()来终止自己

    7.避免产生僵尸线程的方法

    1)调用线程函数pthread_join()

    2)调用线程函数pthread_detach(),实现线程分离

    3)在创建线程之前,设置线程分离属性

    8.进程状态分为:就绪,运行,挂起,停止

    9.父进程调用wait()有三个功用:

    1)阻塞等待子进程结束

    2)回收子进程残留资源

    3)获取子进程结束状态

  • 相关阅读:
    Python RabbitMQ
    对于一些概念的澄清
    Python没有执行__init__
    python中的gil是什么?
    linux命令行快捷键
    关于异步:再次思考和澄清
    greenlet代码解读
    关于协程
    设计模式-重复重复的设计模式
    组合模式-虚有其表的模式
  • 原文地址:https://www.cnblogs.com/jefy/p/9733838.html
Copyright © 2011-2022 走看看