进程线程面试笔试题 转

1. 线程与进程的区别和联系? 线程是否具有相同的堆栈? dll是否有独立的堆栈?

2. sleep()和wait()有什么区别?

3. 线程的建立、销毁、线程锁等。要求如下:
a. 主线程创建两个子线程,一个每次往缓冲区里写入一个整数,一个每次从缓冲区里读出一个整数。
b. 要确保当前缓冲区无数据时不能读,并且读写不能同时进行。

——————————————
请问这个缓冲区要设置为正好存放一个整数的大小?还是整数大小的多倍?
  如果正好是一个整数的大小的话,那么2个线程互斥读写这个缓冲区和用2个函数依次读写这个缓冲区是不是一样的速度(线程没有起到作用)?

4. 谈谈COM的线程模型。然后讨论进程内/外组件的差别。

5. 线程的同步有几种方法。

6. 程序什么时候应该使用线程,什么时候单线程效率高。

7. 有两个线程 

void producer() 

while(1) 

GeneratePacket(); 
PutPacketIntoBuffer(); 
Signal(customer); 


void customer() 

while(1) 

WaitForSignal(); 
if(PacketInBuffer>10) 

ReadAllPackets(); 
ProcessPackets(); 




(1)有没有其他方法可以提高程序的性能 

(2)可不可以不使用信号之类的机制来实现上述的功能

8. 以下多线程对int型变量x的操作,哪几个需要进行同步: 
A. x=y; B. x++; C. ++x; D. x=1;

9. 同一进程下的线程可以共享以下 
A. stack B. data section 
C. register set D. thread ID

10. 多任务系统分为那两类?

11. 以下手段哪些可用于进程间的同步和互斥。A. 信号量与PV原语。 B. B树。C. 进程上下文。D。临界区加锁 。

12. 给出进程间通信的方法。

13. linux内核守护进程的编程方法。

14. Unix后台进程的实现。

15. 编写一unix程序,防止僵尸进程的出现。

16. What is MUTEX ?

17. What is Concurrency? Expain with example Deadlock and Starvation.

posted @ 2011-08-24 20:30  清风书斋  阅读(1561)  评论(0编辑  收藏  举报