Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Linux/Unix中的可重入函数与线程安全函数

Linux/Unix中的可重入函数与线程安全函数

可重入函数也就是异步信号安全函数,一般是除了使用自己栈上的变量以外不依赖于任何环境的purecode(纯代码)(使用锁是无法解决可重入问题的,因为当出现信号中断的,中断函数里再次调用此函数就会出现死锁!)而线程安全函数,如果使用了静态数据或者全局数据的话,可以用锁来将其变为线程安全的。(但无论怎么样都无法变为可重入函数(或称异步信号安全函数))可重入函数一定是线程安全函数。反之,则不正确。linux/unix中的异步信号函数(可用在中断函数中的函数)摘自《...
Android完全关闭应用程序终极解决方案

Android完全关闭应用程序终极解决方案

今天又碰到了这个问题。综合以前的做法跟现在的情况,我找出一种相对比较好的做法。像网上到处说的sysytem.exit(), Android.os.Process.killProcess(android.os.Process.myPid()), ActivityManager类的restartPackage方法或者在Intent中直接加入标志Intent.FLAG_ACTIVITY_CLEAR_TOP等都存在这样那样的问题。我今天使用的是以下方法,在不破坏a...
Android系统的“Hello World”

Android系统的“Hello World”

当我们构建好Android系统应用开发和运行环境后,大家肯定迫不及待地想知道如何开发和运行应用程序?本文以“Hello World”为例,简要说明程序开发的步骤、运行的方法以及工程文件的内容。按着以往的惯例,我们先一起想想如下问题。P1: 如何创建工程文件?如何在工程文件里面布局开发的内容?又如何运行应用程序?P2: 工程文件的内容包括哪些?那些文件内容是我们能够掌控的?在上述问题的驱使下,现逐一详细地解答,从而实现Android系统的“Hello Wor...
如何使用Linux工作队列workqueue

如何使用Linux工作队列workqueue

本文档的Copyleft归rosetta所有,使用GPL发布,可以自由拷贝、转载,转载时请保持文档的完整性。参考资料:《Linux设备驱动程序》第3版 LDD3e, LKD3e, 《 Linux per-CPU实现分析 》,linux-2.6.27,irq_balance要使用workqueue当然逃不了per-CPU,per-CPU顾名思义,每个CPU,很多地方直接翻译为“每CPU"。关于per-CPU的接口操作就是对于所有CPU的操作,即每个CPU都有...
Linux工作队列workqueue实现分析

Linux工作队列workqueue实现分析

本文档的Copyleft归rosetta所有,使用GPL发布,可以自由拷贝、转载,转载时请保持文档的完整性。参考资料:《Linux内核设计与实现》第3版 LKD3e、linux-2.6.27工作队列子系统是一个用于调用创建内核线程的接口,通过它创建的线程负责执行由内核其它部分排到队列里的任务。这些内核线程称为工作者线程。工作队列子系统提供了一个缺省的工作都线程来处理工作。一般使用缺省线程即可,但当处理密集型和性能要求严格的任务时,创建拥有自己的工作者线程比...
用JavaScript操纵HTML5的本地音频

用JavaScript操纵HTML5的本地音频

HTML5的音频元素是一个非常强大的元素并且可以避免过多依赖第三方插件。例如QuickTime,Flash。最新的浏览器,比如Chrome10+和Firefox3.6+都已经嵌入了JavaScript库,并且还提供了方法和属性来操纵<audio>元素。在这篇文章中,我们将探讨几种最重要的方法并探讨如何使用JavaScript来运行audio文件。摘要:尽管这篇文章主要介绍Audio对象,但是这些方法和属性也同样适用于Video对象。Audio ...
Visual Studio 11:使用 C++ 开发一个最简单的 Metro 应用

Visual Studio 11:使用 C++ 开发一个最简单的 Metro 应用

Visual Studio 11 消费者预览版支持使用 C++ 创建 Metro 风格的应用程序,这对广大本地应用开发者来说是一个大消息。这里我们来创建一个非常简单的 Metro 应用。启动 Visual Studio 并通过 Visual C++>Windows Metro Style>Blank Application 模板创建一个项目. “Hello world”打开 BlankPage.xaml 文件,滚动到代码底部并定位 Grid 元...
iOS非ARC内存管理摘要

iOS非ARC内存管理摘要

关于ios内存管理。在开发过程中,内存管理很重要,我简单说明一下。1.正确用法UIView *v = [[UIView alloc] init]; //分配后引用计数为1[self.view addSubview:v]; //这儿引用计数加1,为2[v release]; //这儿引用计数为1最后系统在回收self.view的时候,会先回收其subView,所以v会被自动回收2.如果v是类的成员变量,写了如下代码,不需要再在类的dealloc方法里[v r...
<< 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 >>