linux多线程面试题

linux多线程面试题

ID:31707961

大小:56.29 KB

页数:4页

时间:2019-01-17

linux多线程面试题_第1页
linux多线程面试题_第2页
linux多线程面试题_第3页
linux多线程面试题_第4页
资源描述:

《linux多线程面试题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、前面的选择题那些跳过,直接看最后的编程题。第三题(某培训机构的练习题):子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100次,如此循环50次,试写出代码。第四题(迅雷笔试题):编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将口己的ID在屏幕上打印10遍,要求输岀结果必须按ABC的顺序显示;如:ABCABC....依次递推。第五题(Google面试题)有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推现在有四个文件ABCDo初始都为空

2、。现要让四个文件呈如下格式:A:123412…B:234123•…C:341234....D:412341....请设计程序。第六题生产者消费者问题这是一个非常经典的多线程题目,题冃大意如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,所有生产者和消费者都是异步方式运行的,但它们必须保持同步,即不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个己经装满产品且尚未被取

3、走的缓冲区中投放产品。第七题读者写者问题这也是一个非常经典的多线程题冃,题冃大意如下:有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者读时写者也不能写。第三题、第四题、第五题第一反应用条件变量來实现。第六题和第七题用读写锁来实现。第三题、第四题、第五题和我这篇linux多线程学习(见http://www.linuxidc.com/Linux/2012-05/60858.htm)举得那例子很相似,只需要少量修改就能完成要求。不多说,直接上代码。第四题代码:1.#include

4、2.#include3.#inelude4.#include5.#include6.//#defineDEBUG17.#defineNUM38.8.intn=0;9.pthread_mutex_tmylock=PTHREAD_MUTEX_INITIALIZER;10.pthread_cond_tqready=PTHREAD_CONDINITIALIZER;11.void*thread」unc(void*arg)12.{13.intparam=(int)a

5、rg;14.charc='A'+param;15.intret,i=O;16.for(;iv10;i++)17.{18.pthread_mutex_lock(&mylock);19.while(param!=n)20.{21.#ifdefDEBUG22.printf(nthread%dwaitingM,param);23.#endif24.ret=pthread_cond_wait(&qready,&mylock);25.if(ret==0)26.{27.#ifdefDEBUG28.printf("thread%dwaitsucc

6、ess、”:param);29.#endif}else#ifdefDEBUGprintf(Mthread%dwaitfailed:%sH,param,strerror(ret));#endif}}//printf(”%d”,param+1);printf(H%c”,c);n=(n+1)%NUM;pthread_mutex_unlock(&mylock);pthread_cond_broadcast(&qready);}return(void*)0;}intmain(intargc,char**argv){inti=0,err;pt

7、hread_ttid[NUM];void*tret;for(;ivNUM;i++){err=pthread_create(&tid[i],NULL,threadLfunc,(void*)i);if(err!=O){printf("thread_createerror:%s",strerror(err));exit(-1);}}for(i=0;i

8、ror(err));exit(-1);}}printf(HM);return0;运行结果:root8jackie-desktop:"/NetBeansProjects/thread3imain.c・omainpthr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。