定义一个线程,需要的数据并不多。
线程在 “任何时刻下的状态”呗定义在进程的某块内存中、
以及cpu中可涂改拍纸片上。其他的重要数据,如变量以及应用程序
调用的堆栈,存储在进程总那些可悲其他线程共享的内存中。
线程廉价,启动较快、退出较快,对系统资源的冲击比较小、
线程彼此分享了大部分核心对象的拥有权。
如果使用多重进程,最困难
虽然,为每个请求产生一个新的进程负担非常惊人
必须载入服务器软件的一个全新版本,配置大量内存并初始化
如果以单一线程为所有的请求服务,你就复发获得最佳硬件使用率
用户对服务器产生连接,并持续数小时之久,这种情况下产生个别进程以服务个别用户
但是每个进程还是使用同一个数据库,所以进程之前必须商议
这和面对进程时遭遇的问题一样,只不过现在更复杂,
因为要共享的是跨越进程的数据结构。如果使用线程‘
则程序的所有内存全由线程共享
unix产生进程所需的负担比win32中低的多
然而,win32产生一个线程,代价又廉价得多