Linux中多线程是什么有什么用 | 您所在的位置:网站首页 › linux开启多线程 › Linux中多线程是什么有什么用 |
Linux中多线程是什么有什么用
时间:2018-09-29 14:08:52
加城1195由 分享
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。这篇文章主要介绍了Linux中多线程详解及简单实例的相关资料,这里对线程概念及优缺点做了详细介绍并说明如何创建和应用,需要的朋友可以参考下
Linux中多线程详解及简单实例 1.概念 进程:运行中的程序。 线程:一个程序中的多个执行路径。更准确的定义是:线程是一个进程内部的一个控制序列。 2.为什么要有线程? 用fork调用进程代价太高,需要让一个进程同时做多件事情,线程就非常有用。 3.线程的优点和缺点。 优点: (1)有时,让程序看起来是在同时做两件事是非常有用的。 比如在编辑文档时,还能统计文档里的单词个数。 (2)一个混杂着输入、计算、输出的程序,利用线程可以将这3个部 分分成3个线程来执行,从而改变程序执行的性能。 (3)一般来说,线程之间切换需要操作系统所做的工作比进程间切换需要的代价小。 缺点: (1)编写线程需要非常仔细的设计。 (2)对多线程的调试困难程度比单线程调试大得多。 4.创建线程 #include (1)int pthread_create(pthread_t *thread,pthread_attr_t *attr,void *(*start_routine)(void *),void *arg); pthread_t pthread_self(void); (2)int pthread_equal(pthread_t thread1,pthread_t thread2); (3)int pthread_once(pthread_once_t *once_control,void(*init_routine)(void)); Linux系统支持POSIX多线程接口,称为pthread。编写linux下的多线程程序,需要包含头文件pthread.h,链接时需要使用库libpthread.a。 如果在主线程里面创建线程,程序就会在创建线程的地方产生分支,变成两个部分执行。线程的创建通过函数pthread_create来完成。成功返回0。 1.线程创建: int pthread_create(pthread_t thread,pthread_attr_t *attr,void (start_routine)(void ),void *arg); pthread_t pthread_self(void); 参数说明: thread:指向pthread_create类型的指针,用于引用新创建的线程。 attr:用于设置线程的属性,一般不需要特殊的属性,所以可以简单地设置为NULL。 (start_routine)(void ):传递新线程所要执行的函数地址。 arg:新线程所要执行的函数的参数。 调用如果成功,则返回值是0,如果失败则返回错误代码。 2.线程终止 void pthread_exit(void *retval); 参数说明: retval:返回指针,指向线程向要返回的某个对象。 线程通过调用pthread_exit函数终止执行,并返回一个指向某对象的指针。注意:绝不能用它返回一个指向局部变量的指针,因为线程调用该函数后,这个局部变量就不存在了,这将引起严重的程序漏洞。 3.线程同步 int pthread_join(pthread_t th, void **thread_return); 参数说明: th:将要等待的线程,线程通过pthread_create返回的标识符来指定。 thread_return:一个指针,指向另一个指针,而后者指向线程的返回值。 补充:Linux基本命令 1.ls命令: 格式::ls [选项] [目录或文件] 功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。 常用选项: -a :列出目录下的所有文件,包括以 . 开头的隐含文件。 -d :将目录像文件一样显示,而不是显示其他文件。 -i :输出文件的i节点的索引信息。 -k :以k字节的形式表示文件的大小。 -l :列出文件的详细信息。 -n :用数字的UID,GID代替名称。 -F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。 2.cd命令 格式:cd [目录名称] 常用选项: cd .. 返回上一级目录。 cd ../.. 将当前目录向上移动两级。 cd - 返回最近访问目录。 3.pwd命令 格式: pwd 功能:显示出当前工作目录的绝对路径。 相关阅读:Linux主要特性 完全兼容POSIX1.0标准 这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。 多用户、多任务 Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。 良好的界面 Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。 支持多种平台 Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。 Linux中多线程相关文章: 1.linux查看线程命令 2.linux shell wait命令 3.xshell操作linux系统的常用命令 4.linux查看java进程命令 5.维护linux路由表的方法步骤详解 Linux中多线程是什么有什么用 Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。这篇文章主要介绍了Linux中多线程详解及简单实例的相关资料,这里对线程概念及优缺点做了详细介绍并说明如何创建和应用,需要的朋友可以参考下 Linux中多线 推荐度:![]() ![]() ![]() ![]() ![]() 上一篇:linux who命令参数及用法介绍 下一篇:Linux下Mysql5.7.19卸载方法教程 |
CopyRight 2018-2019 实验室设备网 版权所有 |