美文网首页C语言
1.线程及通信

1.线程及通信

作者: 石不琢 | 来源:发表于2017-08-15 08:39 被阅读0次

1、线程

创建线程

int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
参数:- thread存储线程ID
          - attr线程属性,NULL默认属性8M的栈空间
          - start_routine线程的执行体函数
          - arg用于向start_routine传递的参数
返回:成功 return 0;

结束一个进程

void pthread_exit(void *retval);

等待一个进程结束

int pthread_join(pthread_t thread, void **retval);

2、互斥量

初始化互斥量

int pthread_mutex_init(pthread_mutex_t * mutex,  const pthread_mutexattr_t * attr);

上锁

int pthread_mutex_lock(pthread_mutex_t *mutex);

解锁

int pthread_mutex_unlock(pthread_mutex_t *mutex);

销毁互斥量

int pthread_mutex_destroy(pthread_mutex_t *mutex);

3、条件量

初始化条件量

int pthread_cond_init(pthread_cond_t * cond, const pthread_condattr_t * attr);

产生一个条件量,并发送

int pthread_cond_signal(pthread_cond_t *cond);

等待一个条件量的产生,如果条件量已经发送过,wait将处于死等状态

int pthread_cond_wait(pthread_cond_t * cond, pthread_mutex_t *mutex);

销毁条件量

int pthread_cond_destroy(pthread_cond_t *cond);

4、信号量

初始化信号量

int sem_init(sem_t *sem, int pshared, unsigned int value);

P操作:消耗一个信号量,为0时阻塞

int sem_wait(sem_t *sem);

V操作:产生一个信号量

int sem_post(sem_t *sem);

销毁信号量

int sem_destroy(sem_t *sem);

相关文章

  • 1.线程及通信

    1、线程 创建线程 结束一个进程 等待一个进程结束 2、互斥量 初始化互斥量 上锁 解锁 销毁互斥量 3、条件量 ...

  • Java线程通信

    线程通信 线程通信指的是多个线程在运行的期间,相互之间的数据交互协作。 1.通信方式 实现多个线程直接的协作,涉及...

  • 2.Java内存模型

    1.java并发编程的线程间通信及线程间如何同步线程间通信分为:共享内存,消息传递。线程间同步:共享内存是代码指定...

  • 多线程 | 线程通信

    1. while实现线程通信 //线程二需要while轮询 才能实现线程间通信,对cup消耗很大//线程主动读取 ...

  • java基础-day22-多线程、线程通信和线程池

    多线程,线程通信和线程池 1. 多线程 1.1 线程状态 1.2 Object类中的方法 2. 线程通信 生产者消...

  • Android线程管理(一)——线程通信

    线程通信、ActivityThread及Thread类是理解Android线程管理的关键。 线程,作为CPU调度资...

  • (七)iOS开发之多线程—多线程之间通信

    一.线程间通信 1.什么叫做线程间通信 在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信。 2....

  • iOS - 线程 / 进程 的通信

    1. 线程中的通信 线程中通信的体现 在iOS多线程开发中,有NSThread、GCD、NSOpeartion几种...

  • 最详细分析Java 内存模型

    并发编程中, 线程之间如何通信及线程之间如何同步, 通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间...

  • Java多线程的使用通信和控制

    Java多线程的使用通信和控制 1. Java多线程的使用和通信 实现多线程有两种方式 1. 继承Thread父类...

网友评论

    本文标题:1.线程及通信

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