linux中的互斥锁几行代码备份

pthread_mutex_t faceMutex;//其中faceMutex只是互斥锁的名字

pthread_mutex_init(&faceMutex, NULL);//初始化
然后下面就可以用了。

pthread_mutex_lock(&faceMutex);

pthread_mutex_unlock(&faceMutex);

后面还可以在反初始化函数里面销毁、

pthread_mutex_destroy(&faceMutex);

原文地址:https://www.cnblogs.com/cumtchw/p/11686863.html

时间: 2024-10-05 04:41:25

linux中的互斥锁几行代码备份的相关文章

037_go语言中的互斥锁

代码演示: package main import ( "fmt" "math/rand" "runtime" "sync" "sync/atomic" "time" ) func main() { var state = make(map[int]int) var mutex = &sync.Mutex{} var ops int64 = 0 for r := 0; r <

老男孩教育每日一题:2017年3月9日-请解释下面Shell脚本中if开头的整行代码的意思及应用场景吗?

请解释下面Shell脚本中 if开头的整行代码的意思,你见过它的应用场景么? if(kill -0 $pid 2>/dev/du11) then     echo"oldboy" else    echo"oldgirl" fi 面试题:请解释if (kill -0 $pid 2>/dev/null)代码的意思? if(kill -0 $pid 2>/dev/null)     then        echo "oldboy"

Linux 中常用的文本(行)处理命令(转)

Linux 中常用的文本(行)处理命令 0.正则表达式(regular expression) 元字符(如下图)是正则表达式中含有的字符,在正则表达式中可以在字符串中使用元字符以匹配字符串的各种可能的情况. 注意: (1) 在"[ ]"中还可以使用"-"来表示某一范围.例如"[a-z0-9]"匹配任意的小写字母或者数字,"[^A-Z]"表示非大写字母,"[0-9]{8}"表示任意一个8位数字. (2) 元字

linux 2.6 互斥锁的实现-源码分析

http://blog.csdn.net/tq02h2a/article/details/4317211 看了看linux 2.6 kernel的源码,下面结合代码来分析一下在X86体系结构下,互斥锁的实现原理. 代码分析 1. 首先介绍一下互斥锁所使用的数据结构:struct mutex { 引用计数器 1: 所可以利用.  小于等于0:该锁已被获取,需要等待 atomic_t  count;  自旋锁类型,保证多cpu下,对等待队列访问是安全的. spinlock_t  wait_lock;

Linux多线程编程-互斥锁

互斥锁 多线程编程中,(多线程编程)可以用互斥锁(也称互斥量)可以用来保护关键代码段,以确保其独占式的访问,这有点像二进制信号量.POSIX互斥锁相关函数主要有以下5个: #include <pthread.h> int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr); int pthread_mutex_destroy(pthread_mutex_t *mutex); int p

Linux线程同步---互斥锁

线程中互斥锁使用的步骤与信号量相似! 1.首先定义互斥锁变量,并初始化 pthread_mutex_t mutex_lock;pthread_mutex_init(&mutex_lock,NULL);2.在操作前对互斥量进行加锁操作 pthread_mutex_lock(&mutex_lock);3.操作完毕后进行解锁操作 pthread_mutex_unlock(&mutex_lock); 所有操作均在加锁和解锁操作之间进行,保证同时仅仅对有一个操作对关键变量或是区域进行操作.

python-多线程同步中创建互斥锁解决资源竞争的问题

import threadingimport time # 定义一个全局变量g_num = 0 def test1(num): global g_num for i in range(num): g_num += 1 print('-------in test1 g_num={}'.format(g_num)) def test2(num): global g_num for i in range(num): g_num += 1 print('-------in test1 g_num={}'

linux中添加用户后命令行改变

描述: [[email protected] /]# mkdir -p /u01/oracle[[email protected] /]# useradd -g oinstall -G dba -d /u01/oracle/ oracleuseradd: warning: the home directory already exists.Not copying any file from skel directory into it. 而且/u01/oracle目录下没有任何文件. 解决方法:

Linux中安装传输的命令行工具

创建lrzsz目录: mkdir /usr/local/lrzsz 进入lrzsz目录: cd /usr/local/lrzsz 下载lrzsz压缩包: wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz 解压并进入lrzsz-0.12.20目录: tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20 指定安装路径&编译&安装: ./configure --pref