Linux多线程实验.ppt_第1页
Linux多线程实验.ppt_第2页
Linux多线程实验.ppt_第3页
Linux多线程实验.ppt_第4页
Linux多线程实验.ppt_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020/10/11,第1页,Linux多线程实验,实验目的 掌握Linux多线程程序编写。,2020/10/11,第2页,实验设备 硬件 PC机(带网卡)1台 MagicARM270教学实验开发平台1套 软件 RedHat Linux 9.0操作系统(完全安装) arm-linux-gcc-3.4.3交叉编译器,Linux多线程实验,2020/10/11,第3页,实验内容 创建两个线程,各自统计发生次数,主程序监测两个线程的返回值。,Linux多线程实验,2020/10/11,第4页,实验预习要求 预习Linux线程相关知识和Linux系统调用。,Linux多线程实验,2020/10/11,

2、第5页,实验原理 线程是一种标准化模型,它用于把一个程序分成一组能够同时执行的任务。线程是一种特殊的进程,常称之为轻量级进程(light-weight process)。一个进程的所有线程有独立的执行线索和堆栈,但共享数据。,Linux多线程实验,2020/10/11,第6页,实验原理 线程的属性 joinable:具有joinable属性的线程在执行完毕后并不会立即被Linux清除,如果函数有返回值,其返回值可通过pthread_join()函数调用得到。 Detatched:具有detatched属性的线程,执行完毕立即被Linux清除,无法通过pthread_join()函数调用获得其返

3、回值。 建立线程的的时候如果没有指定属性,默认为joinable属性。,Linux多线程实验,2020/10/11,第7页,实验原理 创建线程:创建线程使用pthread_create()函数实现。函数原型: int pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*start_routine) (void *), void *arg) 挂起线程:挂起线程使用pthread_join()函数实现。函数原型: int pthread_join(pthread_t th, void *thread_return),Lin

4、ux多线程实验,2020/10/11,第8页,实验步骤 (1)在/pxa270/nfs/prog/目录下,为本实验建立工作目录multi-thread,并进入该目录。 $ mkdir /pxa270/nfs/prog/multi-thread$ cd /pxa270/nfs/prog/multi-thread (2)在multi-thread目录下建立文件multi-thread.c,并编写程序代码。 $ vi multi-thread.c,Linux多线程实验,2020/10/11,第9页,实验步骤 (3)编写Makefile,使程序最终在ARM上运行。编译,得到multi-thread文件 $ vi Makefile$ make 注意,本程序的Makefile必须为链接选项加上-lpthread参数。 LDFLAGS += -lpthread,Linux多线程实验,2020/10/11,第10页,实验步骤 (4)启动MagicARM 270,进行NFS连接,并进入multi-thread目录,执行multi-thread程序,观察程序运行结果,注意两线程的运行顺序。多运行几次,比较各次运行结果。 rootMagicARM270 # mount t nfs 192.168.0.94:/pxa270/nfs /mnt o nolock rootMagicARM270 # cd /

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论