设为首页 | 收藏本站
首页>IT学院>操作系统>正文
Linux和Windows系统线程间的区别
WWW.DBIT.CN 2007-11-13 8:52:54 热度:
 

熟悉WIN32编程的人一定知道,WIN32的进程管理方式与Linux上有着很大区别,在UNIX里,只有进程的概念,但在WIN32里却还有一个"线程"的概念,那么Linux和WIN32在这里究竟有着什么区别呢?

WIN32里的进程/线程是继承自OS/2的。在WIN32里,"进程"是指一个程序,而"线程"是一个"进程"里的一个执行"线索"。从核心上讲, WIN32的多进程与Linux并无多大的区别,在WIN32里的线程才相当于Linux的进程,是一个实际正在执行的代码。但是,WIN32里同一个进程里各个线程之间是共享数据段的。这才是与Linux的进程最大的不同。

下面这段程序显示了WIN32下一个进程如何启动一个线程。

int g; 
DWORD WINAPI ChildProcess( LPVOID lpParameter ){ 
int i; 
for ( i = 1; i <1000; i ++) { 
g ++; 
printf( "This is Child Thread: %d\n", g ); 
} 
ExitThread( 0 ); 
}; 
void main() 
{ 
int threadID; 
int i; 
g = 0; 
CreateThread( NULL, 0, ChildProcess, NULL, 0, &threadID ); 
for ( i = 1; i <1000; i ++) { 
g ++; 
printf( "This is Parent Thread: %d\n", g ); 
} 
            }

在WIN32下,使用CreateThread函数创建线程,与Linux下创建进程不同,WIN32线程不是从创建处开始运行的,而是由 CreateThread指定一个函数,线程就从那个函数处开始运行。此程序同前面的UNIX程序一样,由两个线程各打印1000条信息。 threadID是子线程的线程号,另外,全局变量g是子线程与父线程共享的,这就是与Linux最大的不同之处。大家可以看出,WIN32的进程/线程要比Linux复杂,在Linux要实现类似WIN32的线程并不难,只要fork以后,让子进程调用ThreadProc函数,并且为全局变量开设共享数据区就行了,但在WIN32下就无法实现类似fork的功能了。所以现在WIN32下的C语言编译器所提供的库函数虽然已经能兼容大多数Linux/UNIX的库函数,但却仍无法实现fork。

对于多任务系统,共享数据区是必要的,但也是一个容易引起混乱的问题,在WIN32下,一个程序员很容易忘记线程之间的数据是共享的这一情况,一个线程修改过一个变量后,另一个线程却又修改了它,结果引起程序出问题。但在Linux下,由于变量本来并不共享,而由程序员来显式地指定要共享的数据,使程序变得更清晰与安全。

至于WIN32的"进程"概念,其含义则是"应用程序",也就是相当于UNIX下的exec了。

 
上一篇:没有了
下一篇:解决Vista进程占用100% CPU问题
打印】【关闭
  相关文章:
·Linux下各种后门和日志工具详解·判断Linux系统是否被黑的方法
·Linux下配置功能完善的Web服务器·取消Windows XP系统磁盘容量警告
·八招秘籍保证Windows 2000安全·Windows XP默认设置的7大安全问题
·IBM持观望态度 目前尚不支持甲骨文·Windows系统超级技巧 批量更改文件
·用组策略强化Windows系统的三大技·十件傻事将使你的Windows系统不安
·巧用Windows性能监控来监视FTP空间·Windows任务管理器开发原理与实现
·隐藏Windows XP的16个窍门·让Windows XP急速关机
·升级Linux系统内核完全过程·神不知鬼不觉地置换Windows XP用户
☆联姻学院☆

新安装XP后键盘不可用的解决
电脑硬件资源的冲突与解决方法
判断Linux系统是否被黑的方法
九种破解Xp登录密码方法
Word文档保存时常遇到的问题及
解决Excel工作表只能打出部分
Linux和Windows系统线程间的区
解决Vista进程占用100% CPU问
教你如何安装Photoshop笔刷
Adobe在线版Photoshop测试版年
WEB网站主要的HTML标志和属性
网站设计管理与维护的十二项要
Asp.Net输出数据到EXCEL表格中
新闻发布系统管理页
怎样选择合适的服务器规避风险
三层交换机的概念及其组网应用

精品图秀
美女面相大盘点
清新孙俪纯情写真
刘羽琦最新写真
尼康广角相机上市 东软电脑城店庆日 惠士嘉快乐音符魅力重 7100元校花级MM配置 我的成功不是靠忽悠