《Cracking the Coding Interview》——第16章:线程与锁——题目1

2014-04-27 19:09

题目:线程和进程有什么区别?

解法:理论题,操作系统教材上应该有很详细的解释。我回忆了一下,写了如下几点。

代码:

 1 // 16.1 What is the difference between process and thread?

 2 Answer:

 3     Process:

 4         1. Basic element of resource allocation in the operating system.

 5         2. Possesses independent resources:

 6             a. code segment

 7             b. data segment

 8                 i. constant data

 9                 ii. global variable

10                 iii. stack

11                 iv. heap

12             c. register

13             d. program counter

14         3. Have independent virtual address mapping.

15         4. It has life cycle, it is running, in contrast to a program.

16     Thread:

17         1. Basic element of CPU scheduling.

18         2. Possesses part of independent resources:

19             a. register

20             b. stack

21             c. program counter

22         3. Multiple threads share part of resources in same process:

23             a. code segment

24             b. data segment

25                 i. constant data

26                 ii. global variable

27                 iii. heap

28         4. All threads in a process share the same address space.

29         5. It has life cycle

 

你可能感兴趣的:(interview)