多进程与多线程(十)

2.3     线程的创建与使用

创建线程在不同操作系统上有着相似但有不尽相同的函数。它们在不同平台下需要相应的编译器的支持。另外,线程间也存在通讯的问题,如在Windows系统,互锁函数家族只能在单值上运行,根本无法使线程进入等待状态;关键代码段只适用于对单个进程中的线程实施同步;程序员可以使用内核对象来实现线程同步。再比如java,为线程间通讯提供了类为PipedInputStream和PipedOutputStream以及PipedReader和PipedWriter的方式。详情请另行查看相应资料。

功能

Windows接口

Linux接口[1]

线程创建

_beginthreadex/ CreateThread

pthread_create

线程退出

_endthreadex

pthread_exit

设置线程优先级

SetThreadPriority

pthread_setschedparam

 

平台

Windows

Linux

编译器

cl (Visual C++ 6.0 sp5)

gcc 3.4.3

线程支持选项

/MDd, /MD

-pthread

其它选项

 

编译动态链接库 -fpic



[1] Linux提供由POSIX定义的pthread线程支持接口,包括LinuxThreads(内核<=2.4.20)和NPTL(Native POSIX Threads Library)两套实现。它们和POSIX规范有或多(LinuxThreads)或少(NPTL)的差异。本文使用LinuxThreads说明。Linux线程在核内是以轻量级进程的形式存在的,拥有独立的进程表项,而所有的创建、同步、删除等操作都在核外pthread库中进行。相信随着Linux内核的发展,线程会在内核被实现。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值