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

Linux “线程”

1.Linux“线程”
进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型。Linux是一种“多进程单线程”的操作系统。Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。
大家知道,进程是资源分配的单位,同一进程中的多个线程共享该进程的资源(如作为共享内存的全局变量)。Linux中所谓的“线程”只是在被创建时clone了父进程的资源,因此clone出来的进程表现为“线程”,这一点一定要弄清楚。因此,Linux“线程”这个概念只有在打冒号的情况下才是最准确的。
目前Linux中最流行的线程机制为LinuxThreads,所采用的就是线程-进程“一对一”模型,调度交给核心,而在用户级实现一个包括信号处理在内的线程管理机制。LinuxThreads由Xavier Leroy (Xavier.Leroy@inria.fr)负责开发完成,并已绑定在GLIBC中发行,它实现了一种BiCapitalized面向Linux的Posix 1003.1c “pthread”标准接口。Linuxthread可以支持Intel、Alpha、MIPS等平台上的多处理器系统。
  按照POSIX 1003.1c 标准编写的程序与Linuxthread 库相链接即可支持Linux平台上的多线程,在程序中需包含头文件pthread. h,在编译链接时使用命令:
gcc -D -REENTRANT -lpthread xxx. c
  其中-REENTRANT宏使得相关库函数(如stdio.h、errno.h中函数) 是可重入的、线程安全的(thread-safe),-lpthread则意味着链接库目录下的libpthread.a或libpthread.so文件。使用Linuxthread库需要2.0以上版本的Linux内核及相应版本的C库(libc 5.2.18、libc 5.4.12、libc 6)。
2.“线程”控制
  线程创建
  进程被创建时,系统会为其创建一个主线程,而要在进程中创建新的线程,则可以调用pthread_create:
pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *
(start_routine)(void*), void *arg);
  start_routine为新线程的入口函数,arg为传递给start_routine的参数。
  每个线程都有自己的线程ID,以便在进程内区分。线程ID在pthread_create调用时回返给创建线程的调用者;一个线程也可以在创建后使用pthread_self()调用获取自己的线程ID:
pthread_self (void) ;
  线程退出
  线程的退出方式有三:
  (1)执行完成后隐式退出;
  (2)由线程本身显示调用pthread_exit 函数退出;
pthread_exit


相关文档:

linux磁盘空间不够用,添加硬盘

添加硬盘后启动虚拟机, 如果添加的SCSI硬盘这时应该多出一个sdb/sdc/..的盘,可以用 fdisk -l 查看到
分区fdisk /dev/sdb   ---> n p 1 回车 回车 w
格式化mkfs -t ext3 -c /dev/sdb1
挂载到某个目录 mount /dev/sdb1 /home
vi /etc/fstab 添加一行  /dev/sdb1   /home  ext3 defau ......

转载 今天为我的Godaddy Linux主机开通SSH

以前Godaddy的Linux的主机是不能开通SSH的,只有VDS、VPS、独立主机可以开通,前几天在后台上看到有了SSH这个功能,不过需要删除所有的数据库,才可以进行开通的步骤。强烈建议备份数据库及网站!!
删除数据库就不用说了~很简单。
步骤:进入空间管理面板,选择Settings选项卡下的SSH选项,如下图:
godaddyssh-thumb. ......

Linux x86 Dropbear SSH <= 0.34 remote root exploit

/*
* /*
* Linux x86 Dropbear SSH <= 0.34 remote root exploit
* coded by live
*
* You'll need a hacked ssh client to try this out. I included a patch
* to openssh-3.6.p1 somewhere below this comment.
*
* The point is: the buffer being exploited is too small(25 bytes) to hold our
......

Linux内核源码Kconfig语法分析


linux在2.6版本以后将配置文件由原来的config.in改为kconfig,对于kconfig的语法在/Documentation/kbuild/kconfig-language.txt中做了详细的说明,在这里给出kconfig-language.txt的中文版。
介绍
----
在配置数据库的配置选项是以树的形式组织的:
   +- Code maturity level options
   | +- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号