Linux多线程实验.ppt
(10页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
9.9 积分
Linux多线程实验实验目的掌握Linux多线程程序编写。 Date1实验设备硬件PC机(带网卡) 1台MagicARM270教学实验开发平台 1套软件RedHat Linux 9.0操作系统(完全安装)arm-linux-gcc-3.4.3交叉编译器Linux多线程实验Date2实验内容创建两个线程,各自统计发生次数,主程序监测两个线程的返回值。Linux多线程实验Date3实验预习要求预习Linux线程相关知识和Linux系统调用。 Linux多线程实验Date4实验原理线程是一种标准化模型,它用于把一个程序分成一组能够同时执行的任务。线程是一种特殊的进程,常称之为轻量级进程(light-weight process)。一个进程的所有线程有独立的执行线索和堆栈,但共享数据。 Linux多线程实验Date5实验原理线程的属性joinable:具有joinable属性的线程在执行完毕后并不会立即被Linux清除,如果函数有返回值,其返回值可通过pthread_join()函数调用得到。Detatched:具有detatched属性的线程,执行完毕立即被Linux清除,无法通过pthread_join()函数调用获得其返回值。建立线程的的时候如果没有指定属性,默认为joinable属性。Linux多线程实验Date6实验原理创建线程:创建线程使用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) Linux多线程实验Date7实验步骤(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多线程实验Date8实验步骤(3)编写Makefile,使程序最终在ARM上运行。编译,得到multi-thread文件 $ vi Makefile $ make注意,本程序的Makefile必须为链接选项加上-lpthread参数。 LDFLAGS += -lpthread Linux多线程实验Date9实验步骤(4)启动MagicARM 270,进行NFS连接,并进入multi-thread目录,执行multi-thread程序,观察程序运行结果,注意两线程的运行顺序。多运行几次,比较各次运行结果。 [root@MagicARM270 ~]# mount –t nfs 192.168.0.94:/pxa270/nfs /mnt –o nolock [root@MagicARM270 ~]# cd /mnr/prog/multi-thread [root@MagicARM270 multi-thread]# ./multi-threadLinux多线程实验Date10 关键词: 实验 linux 多线程
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。