学习笔记之多线程1

同步方式

(1)信号量:线程同步

  • ①p(sv)sem_wait():信号大于0,则减一,信号小于0,则挂起。
  • ②v(sv)sem_post():信号加一,大于0,则其他被p操作阻塞的线程将被唤醒。

(2)互斥量:线程互斥 进程互斥

  • ①进入临界区时获得互斥锁,并加锁,离开临界区时,对互斥锁解锁。

  • ②Pthread_mutex_init:初始化互斥锁。

  • ③Pthread_mutex_destroy:销毁互斥锁。

  • ④Pthread_mutex_lock:以原子操作的方式加锁,若已锁则阻塞。

  • ⑤Pthread_mutex_unlock:以一个原子操作的方式解锁。

(3)条件变量:当共享数据到达某一值时,唤醒等待这个共享数据的一个或多个线程。

  • ①Pthread_cond_init:初始化条件变量。
  • ②Pthread_cond_destroy:销毁条件变量。
  • ③Pthread_cond_signal:唤醒一个等待条件变量的线程。
  • ④Pthread_cond_wait:等待目标条件变量。需要互斥锁保证原子性,wait前解锁,接收到信号加锁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值