- 博客(14)
- 资源 (10)
- 收藏
- 关注
原创 c++11多线程 std::mutex 例子
Mutex 又称互斥量,C++ 11中与 Mutex 相关的类(包括锁类型)和函数都声明在 头文件中,所以如果你需要使用 std::mutex,就必须包含 头文件。 头文件介绍 Mutex 系列类(四种) std::mutex,最基本的 Mutex 类。 std::recursive_mutex,递归 Mutex 类。 std::time_mutex,定时 Mutex 类。 st
2018-01-29 14:19:14 1830
原创 ffmpeg 多线程测试结果
其实ffmpeg支持多线程转码,但是试验下来效果并不是和想象中的好,测试结果贴下,以飨读者网上有个脚本根据核数测#! /bin/bashecho "Input num : "read numfor (( i=1; i$num; i=i+1 ))do (time ffmpeg -y -threads $i -i in.mp4 -s 320x240 -vcode
2018-01-29 11:02:29 5014
原创 C++11 并发与多线程(二)
1)线程间共享数据线程间共享数据的问题 原因:由于修改数据引起,如果都只是读数据,没有任何问题; 竞争条件: 例子:电影院同时买热门电影票,只剩几个位置 **data race** to mean the specific type of race condition that arises because of concurrent modification to a
2018-01-28 11:04:43 1447
原创 C++11 并发与多线程(一)
std::thread 类1.1, 什么叫并发 concurrency?一遍走路一边说话;你打球我游泳单核计算机上的并发是个假象,其实只是任务切换(task switching)需要上下文切换 多处理器或一个处理器上有多个核上的并发才是自然的并发,叫硬件并发并发种类: 1,多进程并发 这些进程间可通过正常的进程通信渠道(信号,套接字,文件,管道等) 缺点:1
2018-01-26 19:19:33 25699 1
原创 已知二叉树的中序遍历和前序遍历,如何求后序遍历
#include using namespace std;void BinaryTreeFromOrderHelper(string InOrder,string PreOrder,int length, string&res){ if(length == 0) { return; } char val = PreOrde
2018-01-22 09:57:41 490
原创 状态机小结
简单来看,状态机的抽象核心概念只有一个——State即状态,外加一个统管所有状态的对象——FSM即状态机(Finite State Machine),基本上这两种class就够了。然后我们要把逻辑代码与状态机本身的代码尽可能分离,目标是让代码规范、统一、简洁。 先看我写的代码:#include #include #include #include #include using name
2018-01-20 20:50:26 627
转载 二叉树深度优先遍历和广度优先遍历
对于一颗二叉树,深度优先搜索(Depth First Search)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。以上面二叉树为例,深度优先搜索的顺序为:ABDECFG。怎么实现这个顺序呢 ?深度优先搜索二叉树是先访问根结点,然后遍历左子树接着是遍历右子树,因此我们可以利用堆栈的先进后出的特点,现将右子树压栈,再将左子树压栈,这样左子树就位于栈顶,可以保证结点的左子树先与右子树被遍历
2018-01-13 22:16:08 515
原创 go 中执行shell 得到并打印输出
func main() {arg := "curl -I \"www.baidu.com\""cmd := exec.Command("/bin/sh", "-c", arg)out, err := cmd.Output()if err != nil { fmt.Println(err)}fmt.Println(string(out))}
2018-01-12 09:50:11 6938 1
原创 golang中map声明及初始化
map的声明 var m1 map[string]int map[key]value key必须支持==(避免使用浮点型)value不做规范 map的初始化 方式1 var m1 map[string]int=map[sting]int{“key”:0} 方式2 m2:=make(map[string]int) 注意: map声
2018-01-09 11:24:14 4312
原创 //GPU 转码参数
一路 ffmpeg -y -vsync 0 -hwaccel cuvid -c:v h264_cuvid -i Elisa总片花Binge_trailer_China.mp4 -c:a copy -c:v h264_nvenc -vf scale_npp=1080:720 -b:v 144M Elisa_gpu.mov -y多路 1:5 HWACCEL TRANSCODE WITH SCA
2018-01-08 15:31:44 1628 1
转载 Getting Started with FFmpeg/libav using NVIDIA GPUs
Getting Started with FFmpeg/libav using NVIDIA GPUs Using NVIDIA hardware acceleration in FFmpeg/libav requires the following stepsDownload the latest FFmpeg or libav source code, by cloning the co
2018-01-07 21:32:55 279
原创 nvidia gpu知识点总结
查看nvidia硬件加速编解码器: ffmpeg -codecs | grep cuvid 信息如下: DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_cuvid ) (encoders: h264_nvenc h264_vaapi nvenc nvenc_h264 ) DEV.L
2018-01-05 15:16:21 1228
原创 go 中的面向对象
前言 有过C++语言学习经历的朋友都知道,面向对象主要包括了三个基本特征:封装、继承和多态。封装,就是指运行的数据和函数绑定在一起,C++中主要是通过this指针来完成的;继承,就是指class之间可以相互继承属性和函数;多态,主要就是用统一的接口来处理通用的逻辑,每个class只需要按照接口实现自己的回调函数就可以了。 作为集大成者的Go语言,自然不会在面向对象上面无所作为。相比较C++、J
2018-01-05 14:58:02 301
原创 GO PATH设置
多项目的时候肯定要设置这个东东 Linux export GOPATH=$GOPATH:/xxx/xxx/xxx/mine //冒号隔开
2018-01-04 10:43:31 679
Real-Time Embedded Systems [2015].pdf
2019-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人