Linux中多线程是什么有什么用 您所在的位置:网站首页 linux开启多线程 Linux中多线程是什么有什么用

Linux中多线程是什么有什么用

2022-06-14 13:48| 来源: 网络整理| 查看: 265

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中多线 推荐度: 点击下载文档文档为doc格式

上一篇:linux who命令参数及用法介绍

下一篇:Linux下Mysql5.7.19卸载方法教程



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有