首页 > 系统相关 >20201302姬正坤Linux第四章学习笔记

20201302姬正坤Linux第四章学习笔记

时间:2022-10-16 23:01:13浏览次数:41  
标签:并行算法 创建 void Linux 并发 姬正坤 线程 pthread 20201302

第四章 并发编程

一、并行计算导论

1、顺序算法与并行算法

在描述顺序算法中,常用一个begin-end代码块列出算法。该代码块中的所有步骤都是通过某个任务依次执行的。而并行算法中,cobegin-coend代码块指定并行算法的独立任务。每个任务都是并行执行的。

2、并行性与并发性

理想情况下,并行算法中的所有任务应该同时实时执行。单在单CPU系统中,不能实现。因此,不同任务只能并发执行,并在逻辑上并行执行。并发性是通过多任务处理来实现的。

二、线程

1、线程的原理

线程是某进程同一地址空间上的独立执行单元。创建某个进程就是在一个唯一地址空间创建一个主线程。当某进程开始时,就会执行该进程的主线程。如果只有一个主线程,那么进程和线程实际上并没有区别。但是,主线程可能会创建其他线程。每个线程又可以创建更多的线程等。

2、线程的优点

  • 线程创建和切换速度更快;
  • 线程的相应速度更快;
  • 线程更适合并行计算。

3、线程的缺点

  • 由于地址空间共享,线程需要来自用户的明确同步。
  • 许多库函数可能对线程不安全,例如传统 strtok()函数将一个字符串分成一连串令牌。通常,任何使用全局变量或依赖于静态内存内容的函数,线程都不安全。为了使库函数适应线程环境,还需要做大量的工作。
  • 在单 CPU系统上,使用线程解决问题实际上要比使用顺序程序慢,这是由在运行时创建线程和切换上下文的系统开销造成的。

三、线程管理函数

(1)创建线程
int pthread_create(pthread_t *thread_id,pthread_attr_t *attr,void *(*func)(void*), void *arg);
(2)线程ID
int pthread_equal(pthread_t t1,pthread_t t2);如果是不同线程,返回0;否则,返回非0。
(3)线程终止
void pthread_exit(void *status);0退出值表示正常终止,否则为异常终止。
(4)线程连接
int pthread_join (pthread_t thread, void **status ptr);

标签:并行算法,创建,void,Linux,并发,姬正坤,线程,pthread,20201302
From: https://www.cnblogs.com/wafmr-123/p/16797529.html

相关文章

  • Linux结构化命令
    结构化命令定义可用于执行流程控制和改变执行顺序与语句ifcommand语句(命令退出状态码)if...thenif根据command命令返回码来判断是否执行,如果返回码的值为0,就执......
  • linux命令随笔
    用于记录平时遇到的比较有用的命令。Vim命令查找​ vim进入编辑模式之后,如果想在文件中查找某个关键字的话可以用/关键字,随后回车,文件中的关键字会高亮显示,摁n可以调......
  • LiveGBS流媒体服务平台国标GB28181级联上级如何抓包分析windows抓包和Linux抓包
    LiveGBS流媒体服务平台国标GB28181级联上级如何抓包分析windows抓包和Linux抓包​​1、第一步:抓包工具准备​​​​1.1、Linux​​​​1.2、windows​​​​2、第二步:找到级......
  • Linux学习笔记 | Bash基本命令
    (一)历史命令<history>格式:history[选项][历史命令保存文件]选项: -c:   清空历史命令 -w:  把缓存中的历史命令写入历史命令保存文件(~/.bash_history) 历史命令......
  • archlinux + i3wm 使用 tauri 开发者模式 (react + ts) 预览白屏 解决方法
    在我这台机器只需将tauri.conf.json的devPath的localhost改成127.0.0.1即可参考来源https://github.com/tauri-apps/tauri/issues/1140......
  • Linux专项练习
    grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是......
  • Linux 下指定端口开放访问权限
    Linux下指定端口开放访问权限作者:Grey原文地址:博客园:Linux下指定端口开放访问权限CSDN:Linux下指定端口开放访问权限环境CentOS系和Debian系的防火墙开放的命令......
  • Windows不分区VHD装Linux多系统(七):ubuntu 22.04.1安装实验
    一、安装过程:环境:1.物理机系统:Win102. ISO镜像:ubuntu-22.04.1-desktop-amd64.iso3.虚拟机:VirtualBox图形用户界面,版本6.1.36r152435(Qt5.6.2)    安......
  • Linux 下设置定时任务
    Linux下设置定时任务假定场景​ 每隔4个小时执行一个脚本,命令如下sh/usr/bin/login.sh>/tmp/login.log打开定时器编辑crontab-e添加如下内容0*/4***......
  • linux 下HBA相关查询
     1、查看当前卡的品牌,常用的卡有两种,Emulex和Qlogic。---------------------------------------------lspci|grep-ifibre2、查看HBA卡的驱动版本emulex:modinfolp......