6.30笔记

1.  detach , join的问题

detach表示线程结束后由系统自动回收。主进程不再管。

join表示主进程一直等待直到线程结束。

一个线程必须pthread_join或者pthread_detach,否则内存泄露。

如果想创建一个不需要管的线程,

pthread_attr_setdetachstate(atrr, PTHREAD_CREATE_DETACHABLE) 后创建线程就无需担心了

PTHREAD_CREATE_JOINABLE ,就需要父进程等待了

2.  pthread_key_t 线程私有数据

线程私有数据,线程之间是相互不干扰的

pthread_key_t key

pthread_key_create(&key, NULL)

线程中就可以使用 pthread_key_setspecific  pthread_key_getspecific 来完成设置和获取了

注意的是: key显然是个每个线程都有的一个特性,例如errno之类。实际上errno就是这么设计的。

3.  once 线程强制执行一次

能够保证初始化,或者特定动作只会被执行一遍。 (例如单例的初始化)

pthread_once_t once=Pthread_ONCE_INIT

pthread_once(once,  once_func)

6.30笔记

时间: 2024-11-03 03:07:50

6.30笔记的相关文章

2016.5.30 笔记

1.java的特性? JAVA是一个面向对象的语言. JAVA可以跨平台运行.(它提供了在不同环境下的解释运行环境) JAVA是一种健壮的语言,继承了C/C++的优点. JAVA具有较高的安全性.(垃圾自动回收机制.取消指针.强制类型检查) 2.java应用程序运行机制. 先编译,后解释运行. 先通过编译器将源文件编译成字节码文件(中间文件),再通过解释器将字节码文件解释给机器去执行. 3.java跨平台原理. JVM包含解释器,是执行.class文件的. JVM区分平台,字节码文件不区分平台.

PHP基础知识学习总结

从今天开始过一遍PHP的基础知识   加油  地址:http://www.runoob.com/php/php-operators.html   该看:PHP运算符 2017年5月23日23:38:30 笔记: PHP基础知识2017年5月23日23:38:411.PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言.2.PHP 是服务器端脚本语言.3.PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言.PHP

学习日记-2016.3.31

昨晚编写上传部分有部分报错,已经修改,详情请看2016.3.30笔记 今天学习了上传后在,对上传的图像进行剪裁,处理写入到数据库,这个操作是再上传之前完成的 <?php/** * Created by PhpStorm. * User: 兰小宇 * Date: 2016/3/30 * Time: 23:08 *///图像处理类class Image{ private $file; //图像地址 private $width; //获取图像的宽度 private $height; //获取图像的高

百度,宫颈癌和房和附件是房价将阿斯顿发

http://www.ebay.com/cln/vnqus-aoi2rh42/ebay/157776573019/2015.01.30 http://www.ebay.com/cln/vnqus-aoi2rh42/ebay/157776590019/2015.01.30 http://www.ebay.com/cln/vnqus-aoi2rh42/ebay/157776608019/2015.01.30 http://www.ebay.com/cln/vnqus-aoi2rh42/ebay/15

百度,换房间啊回复大花洒减肥哈的时间放假了圣诞节

http://www.ebay.com/cln/yous-ypfkprfc/ebay/157911546014/2015.01.30 http://www.ebay.com/cln/yous-ypfkprfc/ebay/157911557014/2015.01.30 http://www.ebay.com/cln/yous-ypfkprfc/ebay/157911568014/2015.01.30 http://www.ebay.com/cln/dinjag.bwlw17m/ebay/15814

日志文件cpm

08/30/14 11:19:29,856 INFO =============CDN BaseLib is starting......!================ pid = 5894 [src/main.cpp:417] 08/30/14 11:19:29,857 TRACE Enter InitThreadPool() [src/main.cpp:260] 08/30/14 11:19:29,857 TRACE Exit InitThreadPool() [src/main.cpp

《30天自制操作系统》读书笔记(2)hello, world

让系统跑起来 要写一个操作系统,我们首先要有一个储存系统的介质,原版书似乎是06年出版的,可惜那时候没有电脑,没想到作者用的还是软盘,现在的电脑谁有软驱?不得已我使用一张128M的SD卡来代替,而事实上你用的是U盘还是软盘对我们的操作系统没有影响,缺点是你的U盘刷入系统后容量只能是1440 MB,即当年流行的3.5英寸软盘的大小,当然不用担心,再格式化一次(用DiskGeniu),就可以恢复. 我做事情的话,总是怕自己的努力的结果白费了,害怕辛辛苦苦看完这本书但是发现做出来的东西现在根本没法用,

多定时器处理1(30天自制操作系统--读书笔记)

自认为写过很多MCU程序,但总是回头想想,我所了解的MCU编程思想大体有两种,其中具体的想法我得再找时间写下来. 总想总结出一个可扩展的,易移植的写法,但能力还没到这个层次.但<30天自制操作系统>这本书确实给我了一个思路,就像我已经写过的两篇读书笔记. 将两个独立的内容--FIFO和内存动态管理做到高度模块化,尤其是其中数据结构模型的设计更是我学习的好例子. 今天要学习的设计内容是多定时器处理.原书对这部分的处理讲的很详细,由浅入深,看得我由衷佩服作者,也可能是因为我水平低,稍稍看出点门道来

内存管理(30天自制操作系统--读书笔记)

今天继续读书笔记,“挑战内存管理”(30天自制操作系统). 为什么对这块内容敢兴趣呢,因为曾经遇到这么一个问题.在STM32程序中想使用队列,可不是上篇讲的FIFO,而是使用了较大的内存空间,又想做队列的顺序存取管理. 在这个队列里用到了malloc,动态申请内存,一开始是直接申请不到内存,后来在启动脚本里更改了设置堆的地址值,可以申请成功,但发现申请几次后,也申请不到内存. 果然MCU级别的程序,内存这块处理起来就没有windows程序那么随心所欲了.讲了这么多,开始正题吧. 1.相关数据结构