0

Image Description

荆文征

Zhidu Inc.


你好,再见

锁,在多个线程中一起访问同一个属性,如果不加锁的话,会导致数据出现错误。

举一个最简单的例子,又一个 int 类型的公共变量 值为 0,2个线程同时访问他,都做10次累加。那么极有可能会出现,这个值不等于20的情况。
这种时候就需要锁这种东西,我觉的锁,其实和信号量还是挺像的,感觉像信号量的进阶?

我也已经学习了挺久了,那么接下来我会进行一些总结性的记录。

线程,就是进程中的一个动作,比如者活着是进程,那么吃饭就算是线程,当然跑步也算线程。
线程有几个属性,
CancelState 规定了,这个线程是否可以取消,比如跳楼,这个进程就不能返回。再比如说,坐公交车是可以随时不做的。但是这就牵涉到了怎么取消了
CancelType,一种是 deffered延期的,啥意思呢? 前面不是说了 坐公交车可以取消。那么这个 type的意思就是,你会在下一站下车,而不是想反回就返回的。另一种是 async 这种就比较暴躁了… 说要取消,立马取消!“老子才不管到没到站!给老子停车!!!! 行! 不听是吧!我跳!车!”
specific,线程中的私有公共变量,在同一个线程中可以获取到的值,需要使用 pthread_key_t 来存储。大概的意思就是,比如跑步的时候 终点在哪儿,无论在跑步这个线程任何时间都是知道的,但是做饭这个线程就不需要知道这个 终点。
schedparam,