• Linux 进程与线程的同步与互斥


    进程之间的通信和同步方式:

    1.管道(pipe)( 分为有名管道[父子间的进程],无名管道FIFO[无关进程](服务器与客户端进程,在同一台机器上))

    2.消息队列 (mq, 可以使用共享内存实现) 

    3.信号量 ( semaphore) (如linux的PV操作sem_post, sem_wait)

    4.共享内存(mmap, munmap如linux的shmget, shmdt)

    5.网络套接字(Unix域套接字,sockpair)

    线程间的同步方法:

    1.互斥锁 (pthread_mutex_lock)

    2.条件变量(pthread_cond_wait,pthread_cond_sigal, pthread_cond_broadcast)

    3.读写锁 (pthread_rwlock_rdlock,pthread_rwlock_wrlock)

    4.记录上锁(fcntl)

    4.信号量(semaphore)

    进程与线程的区别: 进程:独立的地址空间 、可运行多线程            线程:独立的堆栈、程序计数器、共享进程所有的资源

  • 相关阅读:
    堆优化Dijkstra模版
    poj_1364King
    快速排序库函数qsort的使用
    CMD type命令
    开放地址法
    poj_3159Candies
    poj_1511Invitation Cards
    何谓数据结构
    div ul li添加文本自动自动
    java虚拟机使用内存
  • 原文地址:https://www.cnblogs.com/hzhida/p/2750216.html
Copyright © 2020-2023  润新知