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

首页 / 操作系统 / Linux

本地POSIX线程库(NPTL)

本地POSIX线程库(NPTL)

在Linux操作系统中,本地POSIX线程库(NPTL)是一种软件特性,它可让Linux的内核,高效地运行那些使用POSIX风格的线程所编写的程序。测试中,NPTL在一个IA-32处理器上,成功地同时跑了10万个线程,启动这些线程只用了不到2秒。比较起来,在不支持NPTL的内核上,这个测试花费了大约15分钟。以前(也就是在2.6内核以前),Linux把进程当作其调度实体,内核并不真正支持线程。可是,它提供了一个clone()系统调用—&mdas...
Linux的新式线程同步原语——Futex

Linux的新式线程同步原语——Futex

在我的上一篇文章《本地POSIX线程库》http://www.linuxidc.com/Linux/2013-10/91409.htm中,提到了Futex一词,发现好多读者误以为这是我的笔误,将Mutex错写为Futex了。其实Futex是Linux的一种全新的线程同步原语。本文将为您解读高效的Futex。 Futex是fast userspace mutex的缩写,意思是快速用户空间互斥体。Linux内核把它们作为快速的用户空间的锁和信号量的预制构件提...
使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包

使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包

使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包(详解)一、前言本文将介绍如何使用autotools生成一个Makefile文件,并在此基础上使用dh-make和debuild生成一个可发布的deb程序包,这也是我们在Linux下开发应用程序以及想要发布应用程序需要做的。无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到mak...
《OpenGL超级宝典》学习笔记

《OpenGL超级宝典》学习笔记

OpenGL超级宝典 第4版 中文版PDF+英文版+源代码 见 http://www.linuxidc.com/Linux/2013-10/91413.htm第一章 OpenGL的介绍用二维的方式观察3D的世界,仍然是3D世界,因为其能够触发大脑判断它的深度。这个效果与它的颜色的改变、纹理、光照、着色以及各种不同的颜色强度(由于光照的原因)。接下来就学习基本概念。透视:是指直线之间的角度,正是它产生了三维的幻觉。颜色和着色:通过增加颜色来创建实心物体,更加...
C常见问题之字符串的数组形式与指针形式的区别

C常见问题之字符串的数组形式与指针形式的区别

由双引号括起来的字符串常量属于静态存储类型,它被存储在内存的静态存储区内,所以无论字符串常量出现在程序的什么地方,它在程序的整个运行过程中只存储一份。如果用字符串常量初始化字符数组,就是从静态存储区把整个字符串复制给数组。例如:char a[] = "hello";如果用字符串常量初始化字符指针,就是把字符串在静态存储区的地址复制给指针。例如:char *p = "world";这两种形式的一个重要区别是不能通过指针来修改字符串的值,但是字符数组不存在这个...
百度2014移动研发笔试题目——1013清华版

百度2014移动研发笔试题目——1013清华版

百度2014移动研发笔试题目——1013清华版一.简答题1.简述计算机的存储系统分为哪几个层次,为什么这样的分层能够提高程序的执行效率。2.浮点数在计算中如何表示,如何对浮点数判等。3.简述TCP与UDP协议的差别,两者与HTTP的关系。并列举HTTP的方法,以及常见的返回状态码。二.算法与程序设计1.设计一个反转字符串的函数 char *reverse_str(char *str),不使用系统函数。2.给定一个字符串,(1,(2,...
iOS仿网易新闻客户端左右侧栏

iOS仿网易新闻客户端左右侧栏

左右侧栏已经是当前APP最流行的布局,很多客户端软件都使用了左右侧栏,例如网易新闻,人人网,Weico等等。这篇博客以当前网易新闻客户端的模式为例仿写了一个左右侧栏架构实现。先看一下Demo的实现效果实现主要思路以及细节:视图控制器有三个视图按不同层次排列,最上层的是主要显示视图_mainContentView,下面的为左右侧栏视图;点击左侧栏不同按钮压入不同的主视图控制器;在显示侧栏时点击视图空白区域闭合,利用tap手势;拖动主页面根据不同的方向和位置进...
Linux下多任务间通信和同步-System V共享内存

Linux下多任务间通信和同步-System V共享内存

1.简介共享内存是一种最为高效的进程间通信方式,进程可以直接读写内存,而不需要任何数据的拷贝.为了在多个进程间交换信息,内核专门留出了一块内存区,可以由需要访问的进程将其映射到自己的私有地址空间.进程就可以直接读写这一内存区而不需要进行数据的拷贝,从而大大提高的效率.由于多个进程共享一段内存,因此也需要依靠某种同步机制,如互斥锁和信号量等.2.共享内存实现的步骤创建共享内存,这里用到的函数是shmget,也就是从内存中获得一段共享内存区域;映射共享内存,也...
Linux下多任务间通信和同步-mmap共享内存

Linux下多任务间通信和同步-mmap共享内存

1.简介共享内存可以说是最有用的进程间通信方式.两个不用的进程共享内存的意思是:同一块物理内存被映射到两个进程的各自的进程地址空间.一个进程可以及时看到另一个进程对共享内存的更新,反之亦然.采用共享内存通信的一个显而易见的好处效率高,因为进程可以直接读写内存,而不需要任何数据的复制.对于向管道和消息队列等通信等方式,则需要在内核和用户空间进行四次的数据复制,而共享内存则只需要两次数据复制:一次从输入文件到共享内存区,另一个从共享内存区到输出文件.实际上,进...
iOS 7: 如何为iPhone 5S编译64位应用

iOS 7: 如何为iPhone 5S编译64位应用

随着 iPhone 5S的推出,大家开始关心 5S上所使用的 64位CPU A7。除了关心A7的性能以外,大家还会关心一个问题,那就是使用A7的64位系统对应用有没有什么要求。特别是应用开发者,大家都比较关心我们的应用如何迁移到64位的系统上来,以充分发挥A7的能力。其实这些问题都可以在苹果的官方文档《64-Bit transition Guide for Cocoa Touch》中找到答案。为了大家方便,我将《64-Bit transition Guid...
Shell编程之条件测试

Shell编程之条件测试

shell编程中,当使用if语句时,总是涉及到条件的判断。下面来讨论下条件判断的各种情况。1. 条件为语句例如:当目录下有sam开头的文件时,输出hi,it"s here.if ls sam* &> /dev/null; then echo "Hi,it"s here."fi当条件为语句时,直接跟在if后面,如果语句执行成功,返回0,表示真,然后执行语句块中的语句。再来个例子,查看本机中是否有hive的用户,如果有,显示hive的uid和...
Java通用工具类之按对象属性排序工具

Java通用工具类之按对象属性排序工具

本工具类为按对象属性排序工具类,实现的功能:1.按对象的一个属性和多个属性进行排序.2.按对象属性正序和倒序排列.3.完美支持int等基础类和Integer等包装类.4.完美支持属性为实现了Comparable接口的类.5.如果类不是java.lang中定义的基础类型也没有实现Comparable接口则转为String后进行排序.实现思路:使用反射取得对象属性或对象方法的值从而解除对具体对象的依赖.import java.lang.reflect.Fiel...
Spring Integration概述

Spring Integration概述

1. Spring Integration概述1.1 背景Spring框架的一个重要主题是控制反转。从广义上来说,Spring处理其上下文中管理的组件的职责。只要组件减轻了职责,它们同时也被简化了。例如,依赖注入降低了定位和创建组件间依赖的耦合性。同样地,面向方面编程通过模块化可重复利用方面,将业务组件和通用的横切面关注点解耦。在这样的情况下,最终的结果是系统更容易测试,理解,维护和扩展。此外,Spring框架和相关工具集提供一个优秀的构建企业级应用的编...
Spring Integration入门

Spring Integration入门

为什么使用Spring IntegrationSpringIntegration是Spring框架创建的又一个API,面向企业应用集成(EAI)。说到集成,并不缺“解决办法”:硬编码的Java客户端、其它ESB产品,还有消息队列等更加传统的应用集成技术。Spring Integration对以上各种解决方法都有所改进,改进的方式有时还颇具戏剧效果。Spring Integration非常轻量、易于测试;几乎没有入门门槛,概念上比任何...
Android EditText软键盘显示隐藏以及“监听”

Android EditText软键盘显示隐藏以及“监听”

一、写此文章的起因本人在做类似于微信、易信等这样的聊天软件时,遇到了一个问题。聊天界面最下面一般类似于如图1这样(这里只是显示了最下面部分,可以参考微信等),有输入文字的EditText和表情按钮等。1、点击表情会在这下面显示表情选择,如图2,如果之前点击输入框弹出了软键盘,那么还需要隐藏软键盘;2、点击输入框,弹出软键盘,如果之前显示了表情选择,则还需要隐藏表情选择。这里我们第一想到的就是需要监听软键盘的显示和隐藏,我也是这样想的,到网上一查,都是重写根...
php利用root权限执行shell脚本

php利用root权限执行shell脚本

这几天弄的东西涉及到php利用shell脚本与Linux的交互,我们知道利用php运行脚本来访问Linux是以Apach的身份来执行的,因此它自己能够所做的事情很少的,因为没有足够的权限,这里就涉及到要将为php执行的时候赋予root权限。接下来介绍的这种方法,我自己是亲自做了的,可以实现,但是毕竟有它的缺点,这里跟大家分享一下,希望大家有什么好的做法可以提示一下:这是利用C来实现互换权限的,如果你想彻底明白到底为什么接下来的程序可以运行成功,请彻底弄清楚...
<< 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 >>