易截截图软件、单文件、免安装、纯绿色、仅160KB

linux多线程学习(一)

 进程是系统中程序执行和资源分配的基本单位。每个进程都有自己的数据段,代码段和堆栈段,这就导致了进程在进行切换等操作起到了现场保护作用。但是为了进一步减少处理机的空转时间支持多处理器和减少上下文切换开销,进程演化中出现了另外一个概念,这就是线程,也被人称为轻量级的进程。它是一个进程内的基本调度单位。线程是在共享的内存空间中并发的多道执行路径,它们共享一个进程的资源,比如文件描述符和信号处理等。因此, 大大减少了上下文切换的开销。
线程跟进程一样,都拥有一张控制表,线程将相关的变量值放在线程控制表中。一个进程可以拥有一个或者一个以上的线程,也就是有多个线程控制表和堆栈寄存器。但是它们是共享一个内存空间的,这就导致了每个线程的操作都会影响到其他线程。所以线程的同步是非常重要的。
线程可分为用户级线程和核心级线程。
(1)用户级线程主要是解决上下问切换的问题,它的调度算法和调度过程都是用户自己选择决定的,在运行时并不需要特定的内核支持,操作系统都会提供一个库函数,包括对线程的创建、调度、撤销的等功能。而内核仍然度进程进行管理。如果一个进程中的一个线程调用了阻塞的系统调用,那么该进程和该进程中的的其他线程都会被阻塞,这就无法发挥多处理器的优势。
(2)核心级线程是允许不同进程中的线程按照同一相对优先调度方法进行调度。这样就可以充分发挥多处理器的作用。
现在大多数系统都是采用用户级和核心级相结合的方法,一个用户级线程可以对应一个或者一个以上的核心级线程,这样既可以满足多处理机系统的需要,也可以最大限度的减少了调度开销。
在Linux的发展历程中,在方开始,并不真正意义上的支持线程,到出现一对一的线程模型(一个用户级线程对应一个内核级线程),再到如今的NPTL,有了很大的改进,但是仍然采用的是一对一的线程模型。


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

PostgreSQL Linux安装,使用简易手册

 
PostgreSQL Linux
安装及使用,简易手册
一,配置方法:
1
,首先下载任意版本的PostgreSQL For Linux X86_64
wget http://downloads.enterprisedb.com/postgresql/postgresql-8.4.1-1-linux-x64.bin
2
,文本模式安装
[root@imdba.cn ~]# ./postgresql-8.4.1-1-linux-x64.bin –mode text
&mda ......

Linux下java相关配置 tomcat mysql jdk

 最近有个项目要部署到linux上,在网上查了些资料,记下点遇到的问题,以便将来再用。
一:jdk安装
1.通过chmod a+x jdk-1_5_x-rc-linux-i586-rpm.bin命令使其获得可执行权限
2.通过 rpm –ivh jdk-1_5_x-rc-linux-i586-rpm.bin来进行安装
3.安装完毕,JDK安装在/usr/java/目录下
4.设置环境变量(写入vi/etc/ ......

Linux中的shell命令参数详解

命令行
     用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。例如:
  
  $ date
  
  二 11 23 01:34:58 CST 1999 
  
  $ 
  
  用户登录时,实际进入了shell,它遵循一定 ......

linux shell下程序后台、前台的转换

实现程序在后台运行:
    [程序] &
但如果忘了输入&,但又不想把程序停止后重新启动,
你可以这样做:
    按Ctrl+z,暂停前台工作,
    然后用jobs命令查看当前shell一共启动了多少后台程序,你可以看到你的程序在其中,
    它的状态是stopp ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号