- 博客(8)
- 收藏
- 关注
原创 条件变量
条件变量:条件变量本身不是锁!但它也可以造成线程阻塞。通常与互斥锁配合使用。给多线程提供一个会合的场所。为什么有锁了还要条件变量? 主要应用函数: pthread_cond_init函数 pthread_cond_destroy函数 pthread_cond_wait函数 pthread_cond_timedwait函数 pthread_cond...
2018-04-02 20:05:36
149
原创 读写锁
读写锁与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。读写锁状态:一把读写锁具备三种状态: 1. 读模式下加锁状态 (读锁) 2. 写模式下加锁状态 (写锁) 3. 不加锁状态读写锁特性:读写锁是“写模式加锁”时, 解锁前,所有对该锁加锁的线程都会被阻塞。读写锁是“读模式加锁”时, 如果线程以读模式对其加锁会成功...
2018-04-01 21:13:53
4695
原创 互斥量mutex
Linux中提供一把互斥锁mutex(也称之为互斥量)。每个线程在对资源操作前都尝试先加锁,成功加锁才能操作,操作结束解锁。 资源还是共享的,线程间也还是竞争的,但通过“锁”就将资源的访问变成互斥操作,而后与时间有关的错误也不会再产生了。 但,应注意:同一时刻,只能有一个线程持有该锁。 当A线程对某个全局变量加锁访问,B在访问前尝试加锁,拿不到锁,B阻塞。C线程不去加...
2018-04-01 15:43:33
281
原创 C/C++指针讲解
指针是一种数据类型指针变量指针是一种数据类型,占用内存空间,用来保存内存地址。void test01(){ int* p1 = 0x1234; int*** p2 = 0x1111; printf("p1 size:%d\n",sizeof(p1)); printf("p2 size:%d\n",sizeof(p2)); //指针...
2018-04-01 10:37:55
202
原创 C/C++内存分区模型
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>//extern int a = 10; 默认外部链接int a = 10; //全局区//静态全局变量是内部链接static int b = 20; //静态区//内部链接...
2018-04-01 09:52:50
199
原创 ffmpeg的一些问题
我在使用drawtext命令行出现“No such filter: ‘drawtext” 错误,我网上找了很多文章都不能解决我的问题,以下是我解决问题的方法。 我的系统及环境是Ubuntu 14.04 64位,ffmpeg 3.4版本 首先这个说明我们没有这滤镜,这时要重新编译并加上一些参数。//生成静态库./configure --enable-libfreetype --enable...
2018-03-14 17:27:19
577
原创 Linux下eclipse中通过jni调用.so实例
系统环境:64位Ubuntu14.04、eclipse 5.3版本,jdk1.8版本,vim编译器1、本实例是java代码通过jni调用c/c++语言生成的.so库,本库提供两个方法,当调用读目录方法,并输入一个目录的路径时,会打印出输入目录下的所有文件,当调用,读文件方法,并输入一个目录文件的路径会读取本文件的前五个字节,并创建一个和输入文件名相同后缀添加一个.new的文件,然后将读取的五个...
2018-03-05 21:22:36
535
原创 使用ffmpegAPI提取视频指定时间点图片
ffmpeg版本为3.4版本,因为ffmpeg一只在保持更新,有很多老版本中的API和新的版本不一样所以在此说明一下。环境是linux系统下。将yuv文件中指定时间点的图片帧提取出来并保存为jpg图片文件。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <dirent.h>#include <unistd.h>
2017-12-20 08:24:39
3151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人