- 博客(3)
- 收藏
- 关注
原创 Linux编程——终止线程的正常方式及取消点
问题背景: 在使用pthread_cancel和pthread_join退出一个线程时,线程本身会立即停止运行代码并退出吗?如果在你试图退出一个线程时,该线程中还有未释放的资源,这时应该怎么处理呢?在cancel一个线程时,线程体可能并不会立即退出,这就会出现两个问题:在调用cancel之后,如果线程体仍在运行,就会导致pthread_join()阻塞,进而使调用pthread_joi...
2017-11-30 12:33:21 11182
原创 字节序 —— 大端与小端
尾端(endianness)这一词由Danny Cohen引入计算机科学,Cohen注意到计算机体系结构依照字节寻址和整型数定义之间在通信系统的关系,被划分为两个阵营。例如,一个32位的整数会占据4个字节,这样会有两种合理的方式来定义整数和各个字节之间的关系:有些计算机先从低位字节开始存放,有些则先从高位字节开始存放,Cohen将它们分别称为“小端(little-endian)”和“
2017-11-30 00:19:33 2377
原创 GCC的built-in方法之 —— 原子操作
如果要在多线程中对同一个整型变量进行加减操作,我们知道可以通过加锁的方式保证线程同步,但仅对这一个变量加锁,是不是大材小用了?有没有类似于Linux内核中的atomic_inc()/atomic_dec()方法从指令的层面上实现操作变量的原子性?答案是,有的。GCC提供了一系列内置函数,来完成对一些简单的数据操作的同步。type __sync_fetch_and_add (type *ptr, ty
2017-11-27 20:38:14 3218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人