Chinaunix首页 | 论坛 | 博客
  • 博客访问: 228426
  • 博文数量: 46
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 620
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-12 18:04
文章分类

全部博文(46)

文章存档

2010年(7)

2009年(39)

我的朋友

分类: LINUX

2009-01-16 22:01:00

多线程开发要点(一)

1. 线程栈简述
  
   在一个进程空间能够打开的线程是有限的。
   对于32位系统,进程空间的虚拟地址空间有4g。在unix系统下,
   有差不多3g的空间分配给堆和栈使用。 在支持线程的进程
   里,主线程负责管理这这3g的空间(个人理解)。每次打开一个
   新的线程时,就会在进程空间的堆上分配一定额度的空间供
   线程使用。
  
2. 在类unix系统下,通过ulimit -s 命令查询栈的大小。
   一般设置都是8192kb,所以此时一个进程里最多分配382左右个线程后,
   就会失败。
  
3. 线程栈的设置
   1) 直接通过 ulimit -s size 设置系统全局限制。
  
   2) 在pthread_create函数中设置线程栈大小。针对具体线程。
  
4. 在多线程程序开发中设置每个线程使用的栈有利于节省系统资源。

阅读(1027) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~