• 进程/线程


    进程/线程控制:

                 创建                  退出                      等待

                多进程               fork()         exit()           wait()

                多线程      pthread_create    pthread_exit()        pthread_join()

     

    线程的同步与互斥:

    线程的互斥:  互斥锁

    初始化互斥锁 int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr);

    注销互斥锁    int pthread_mutex_destroy(pthread_mutex_t *mutex);

    加锁 int pthread_mutex_lock(pthread_mutex_t *mutex);

    解锁 int pthread_mutex_unlock(pthread_mutex_t *mutex);

    测试加锁 int pthread_mutex_trylock(pthread_mutex_t *mutex)

    线程的同步:  条件变量

    创建:int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr);

    注销:int pthread_cond_destroy(pthread_cond_t *cond);

    等待:int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);

    激活:pthread_cond_signal()激活一个等待该条件的线程,存在多个等待线程时按入队顺序激活其中一个

           pthread_cond_broadcast()则激活所有等待线程

     

     

  • 相关阅读:
    C#中的委托和事件的使用
    C#中Attribute/特性的使用
    Eclipase + CDT
    设计模式总结
    Nginx源码编译
    Nginx自定义扩展模块
    电池的寿命
    大盗阿福
    河中跳房子
    An Easy Problem
  • 原文地址:https://www.cnblogs.com/wangfx91/p/3745110.html
Copyright © 2020-2023  润新知