生如夏花的博客

专注于工业物联网行业数据采集,嵌入式Linux系统裁剪,5G智慧网关软件开发等

线程同步之屏障

屏障(barrier)是用户协调多个线程并行工作的同步机制。

屏障允许每个线程等待,直到所有的合作线程都到达某一点,然后从该点继续执行。

pthread_join是一种特殊的屏障,允许一个线程等待,直到另一个线程退出。

线程同步之条件变量

互斥量防止多个线程同时访问同一共享变量。

条件变量允许一个线程就某个条件(共享变量)的变化状态通知其他线程,并让其他线程等待(阻塞于)该通知。

条件变量与互斥量一起使用,允许线程以无竞争的方式等待特定的条件发生。

线程同步之读写锁

读写锁也称为共享互斥锁,具有3种状态:读模式下的加锁状态写模式下的加锁状态不加锁状态

一次仅有一个线程可以占有写模式下的读写锁,但是多个线程可以同时占有读模式下的读写锁。

读写锁非常适合于对数据结构读的次数远大于写的情况

与互斥量相比,读写锁(reader-writer lock)运行更高的并行性。

线程同步之互斥量

当多个线程共享相同的内存时,需要确保每个线程看到的都是一致的数据视图。

当一个线程可以修改的变量,其他线程也可以读取或修改的时候,就需要对这些线程进行同步,确保访问变量时不会得到无效的值。

TLS

SSL/TLS是使用最广泛的加密通信方法。

SSL/TLS中广泛运用了对称密码、消息认证码、公钥密码、数字签名、伪随机数生成器等密码技术。

SSL(Secure Socket Layer)与TLS(Transport Layer Security)是不同的,TLS相当于是SSL的后续版本。

SSL/TLS可以通过切换密码套件来使用强度更高的密码算法。

PGP

PGP说明
时间1990年
作者菲利普·齐默曼
全称Pretty Good Privary
用途商业密码软件
支持平台Windows、Mac OS X、Linux
版本商用版、免费版
GnuPGGNU Privacy Guard,遵循OpenGPG规范编写的密码软件。

PGP设计目的是在连国家都不可信的情况下仍然能够使用,因此并不关心有没有可信的认证机构,而是采用了“由用户自己来决定信任谁”的设计。

伪随机生成器

在密码技术中,随机数被用来生成密码。

随机数的性质分为三类:随机性、不可预测性和不可重现性。

线性同余法是很多库函数所采用的生成伪随机数的方法,但不可以用于密码技术。

用于密码技术的伪随机数生成器,需要使用单向散列函数和密码技术确保不可预测性。

证书

什么是证书?证书的使用场景。

证书标准规范X.509、颁发证书的认证机构。

公钥基础设施PKI,对PKI的攻击方法和对策。

无论是数字签名、证书,还是认证机构的层级结构,都不可能在完全不可信的状态下创造出信任关系