一个进程调用fork, 创建一个新进程,这个新进程又被成为子进程, fork函数调用一次, 返回两次,
子进程返回0, 父进程返回子进程ID,
子进程获得父进程数据空间, 堆和栈的副本, 父子进程共享正文段。
当在进程中创建一个新线程时, 新线程将拥有自己的栈(因此有自己的局部变量),
但它与创建者共享全局变量、文件描述符、信号处理函数等。
JAVA的特点之一就是内置对多线程的支持
C++没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的设计