1.Linux线程概念

1.1.线程的概念

书本中对线程的描述:

1.在进程内部运行的执行流

2.线程比进程粒度更细,调度成本更低

3.线程是CPU调度的基本单位

注:上面的说法都没有问题,这里我们以Linux内核的角度切入来讲解线程。

线程的概念:

Linux内核中进程的基本框架如下图所示。fork之后,父子是共享代码的,可以通过if else判断,让父子进程执行不同的代码块,因此不同的执行流可以做到进行对特定资源的划分。

要创建一个进程,操作系统需要创建进程对应的task_struct、mm_struct和页表,每个进程的task_struct、mm_struct和页表都是私有的,进程具有独立性。如果今天我们要创建一个进程,只创建进程的task_struct,mm_struct和页表共用另一个进程的,那么这两个“进程”看到的所有的资源都一样(执行的代码、访问的堆栈区等都相同)。

如果创建n-1个task_struct共享同一个进程的mm_struct和页表,将虚拟地址空间mm_struct的各区域(代码区、数据区、堆区栈区等)拆分成n份,每一份对应一个task_struct。创建的n-1个task_struct中的一个task_struct,该task_struct占有对应进程的一小份代码、数据,且使用部分页表,我们将这样的一个task_struct所对应的执行流称为线程。

了解了线程的概念,我们再对书本中线程的描述做解释:线程是在进程内部运行的,即在进程的地址空间中运行,因此线程是在进程内部运行的执行流。线程执行的代码和数据更少了,因此线程的执行力度更细。CPU内有很多寄存器,寄存器中存储着当前执行进程或线程的地址空间和页表,当调用该进程或该进程对应线程的时候,地址空间和页表不用切换了,因此调度成本变得更低了。CPU调度只看task_struct,而线程具有独立的task_struct,是CPU调度的基本单位。

因为线程是在进程内部运行的,所以线程:进程=n:1。操作系统要对进程进行管理,那么比进程更多的线程也需要进行管理,怎么管理呢?答案是先描述再组织。在操作系统内核中对进程的描述是PCB(Linux下具体为task_struct结构体),对线程的描述是TCB。

在真正意义上实现多线程的操作系统中(例如windows),需要分别针对进程和线程来设计描述功能的结构体(PCB和TCB),而很多线程在一个进程的内部,所以还要维护线程TCB和进程PCB之间的关系,这样写出来的代码耦合度高,PCB和TCB复杂,维护成本高。真正意义上实现多线程的操作系统设计者认为进程和线程在执行流层面是不一样的,而Linux操作系统设计者认为进程和线程没有概念上的区分,即PCB和TCB没有区别,只有一个叫做执行流,Linux的线程是用进程模拟的,即Linux的TCB是用PCB模拟的,Linux下的TCB和PCB都是task_struct。

注:Linux下也是有TCB概念的,只不过Linux下的TCB实现是复用task_struct的。

在CPU的角度,所有的task_struct没有区别,调度的时候统一以task_struct为单位进行调度,但是task_struct可能是PCB也可能是TCB,如果是TCB那么该task_struct背后挂靠的mm_struct和页表是某个PCB对应task_struct背后挂靠的mm_struct和页表的一小部分,所以CPU执行该task_struct其实执行的是某个进程的一小部分代码和数据。

因为时间片的原因,在一个时间段内,执行该TCB对应task_struct的同时并不妨碍执行相应PCB对应task_struct,这样就将本身应该串行执行的代码转变为在CPU上并发或并行的在一个时间段内同时推进。

注:我们之前的理解是,CPU看到的所有task_struct都是一个进程,学了线程后应该知道,CPU看到的所有task_struct都是一个执行流(进程或线程)。

进程概念的重新定义:

旧的理解:进程=内核数据结构+进程对应的代码和数据

新的理解(内核视角):承担分配系统资源的基本实体(进程的基座属性)

我们之前学习的进程其实是内部只有一个执行流的进程,即单执行流进程。现在学习了线程就应该知道,进程内部可以有多个执行流,内部有多个执行流的进程称为多执行流进程。

进程是向系统申请资源的基本单位,进程最大的意义不是执行进程,而是为了执行该进程向系统申请的一大批资源(虚拟地址空间mm_struct、页表及映射关系、物理内存中申请的数据和代码等)。

1.2.


2.Linux进程VS线程

Linux - 第9节 - Linux多线程

相关文章

  1. (哈希表 ) 349. 两个数组的交集 ——【Leetcode每日一题】

    ❓349. 两个数组的交集 难度:简单 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[…...

    2023/5/28 20:13:01
  2. 恒容容器放气的瞬时流量的计算

    有时候,你会遇到一个问题,该问题的描述如下: 你有一个已知体积的容器,设容器体积为V,里面装有一定压力(初始压力)的气体,如空气或氢气等,设初始压力为1MPa,容器出口连接着一个阀门开…...

    2023/5/28 20:10:24
  3. [LeetCode周赛复盘] 第 105 场双周赛20230528

    [LeetCode周赛复盘] 第 105 场双周赛20230528 一、本周周赛总结6395. 购买两块巧克力1. 题目描述2. 思路分析3. 代码实现 6394. 字符串中的额外字符1. 题目描述2. 思路分析3. 代码实现 6393. 一个小组的最大实力值1. 题目描述2. 思路分析3. 代码实现 6464. 最大公约数遍历1. 题…...

    2023/5/28 20:01:00
  4. 二分查找问题(中间的target,和最左最右target求法)

    本文涉及leetcode以下题目: leetcode704. 二分查找 leetcode 34. 在排序数组中查找元素的第一个和最后一个位置 要想做好二分查找的题目,我觉得应该首先知道二分查找的前提条件:二分查找也称为折半查找,它只适用于有序数组。然后就…...

    2023/5/28 19:58:38
  5. 使用FSL对DTI数据进行预处理

    使用FSL对DTI数据进行预处理 一、topup处理二、eddy处理一、topup处理 为了校正磁场引起的畸变,对DTI的B0像分别采集了A>P和P>A的反向编码的两种B0像。利用AP和PA图像进行一个topup处理,校正畸变。 1、 使用dcm2niix将AP PA图像转为nii格式 假设转换后的图像为sub01_…...

    2023/5/28 19:55:46
  6. DAY 69 rsync远程同步

    rsync介绍 rsync简介 rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前…...

    2023/5/28 19:55:07
  7. JS中this的指向

    JS中this的指向 本文目录 JS中this的指向全局上下文(Global Context)函数上下文(Function Context)普通函数调用作为对象的方法调用构造函数调用箭头函数回调函数 事件处理器上下文(Event Handler Context)…...

    2023/5/28 19:53:53
  8. 如何在华为OD机试中获得满分?Java实现【查找两个字符串a,b中的最长公共子串】一文详解!

    ✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1、题目描述2、输入描述3、输出描述…...

    2023/5/28 19:48:10
  9. OS之磁盘调度算法

    目录 一、先来先服务(FCFS) 基本思想 案例 二、最短寻道时间优先(SSTF) 基本思想 案例 饥饿现象 三、扫描算法(SCAN) 基本思想 案例 四、循环扫描算法(CSCAN) 基本思想 案例 一、先来先服务(FCFS) 基本思想 根据进程请求访问磁盘的先后次序来进行调度 案例 二、…...

    2023/5/28 19:40:46
  10. leetcode解题思路分析(一百四十)1201 - 1208 题

    丑数3 给你四个整数:n 、a 、b 、c ,请你设计一个算法来找出第 n 个丑数。丑数是可以被 a 或 b 或 c 整除的 正整数 。 容斥原理二分法 class Solution { public:int nthUglyNumber(int n, int a, int b, int c) {long long ab lcm((long long)a, (lo…...

    2023/5/28 19:39:19
  11. 9. Linux下实现简单的UDP请求

    本文简单介绍了UDP传输层协议,并在Linux下实现简单的socket通讯 一、UDP UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议,它不保证数据包的可靠性和顺序。UDP在IP协议的基础上增加了简单的差错…...

    2023/5/28 19:37:42
  12. 如何在华为OD机试中获得满分?Java实现【24点游戏算法】一文详解!

    ✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1、题目描述2、输入描述3、输出描述…...

    2023/5/28 19:36:41
  13. C#,码海拾贝(26)——求解“一般带状线性方程组”之C#源代码,《C#数值计算算法编程》源代码升级改进版

    using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 求解线性方程组的类 LEquations /// 原作 周长发 /// 改编 深度混淆 /// </summary> public static partial class LEquations { /// <summary> /…...

    2023/5/28 19:35:11
  14. 关于linux系统can收发,以及jetson系列can收发的说明,以及SN65HVD230 CAN board和MCP2515和TJA1050的区别是什么?

    1&#xff0c;jetson orin、Tx2有can处理器&#xff0c;没有收发器 所以官方推荐用SN65HVD230 CAN board就可以了。理论上单独的TJA1050也是可以的。。。 2&#xff0c;如果本身没有can像jetson nano、香橙派这样&#xff0c;就需要使用MCP2515和TJA1050的结合体了 SN65HVD230…...

    2023/5/28 19:34:24
  15. vue3项目创建步骤,以及项目运行失败的原因和解决方法

    vue3项目创建步骤&#xff0c;以及项目运行失败的原因和解决方法 vue3项目创建前提&#xff1a;搭建node.js环境第一步&#xff1a;创建一个空文件夹第二步&#xff1a;打开空文件夹&#xff0c;如图所示第三步&#xff1a;在此输入cmd&#xff0c;并按下回车键&#xff0c;进入…...

    2023/5/28 19:25:53
  16. QMI8658 - 姿态传感器学习笔记 - Ⅲ

    文章目录 1.复位1.1 上电复位&#xff1a;1.2 推荐工作条件 2. 校准(COD)2.1 校准步骤2.2 校准注意事项&#xff1a;2.3 校准状态指示2.4 校准参数更新 3. 自检3.1 加速度计自检3.2 陀螺仪自检 4. Ctrl94.1 写Ctrl94.2 读Ctrl94.3 Ctrl9详细命令说明 5. 中断5.1 同步采样模式5.…...

    2023/5/28 19:23:58
  17. vscode配置flutter开发环境,不需要安装第三方安卓模拟器

    1.获取Flutter SDK 点击下方的安装包&#xff0c;获取 stable 发行通道的 Flutter SDK 最新版本&#xff1a;Flutter SDK 将压缩包解压&#xff0c;然后把其中的 flutter 目录整个放在你想放置 Flutter SDK 的路径中**&#xff08;注意不要出现中文目录&#xff09;** 配置Wi…...

    2023/5/28 19:20:09
  18. 杨立昆:科学之路读书笔记2

    杨立昆&#xff1a;科学之路读书笔记2 人工智能的低谷人工智能无所不能吗&#xff1f;谁将从AI人工智能革命中获益结语 一起学AI系列博客&#xff1a;目录索引 人工智能的低谷 上回分享了读书缘由&#xff0c;杨立昆的背景及其对人工智能的研究看法&#xff0c;这回分享他如何…...

    2023/5/28 19:19:33
  19. 老板让你Excel统计数据无从下手?没事,ChatGPT来帮你!

    系列文章目录 老板让你写个PPT没有头绪&#xff1f;没事&#xff0c;ChatGPT来帮你&#xff01;传送门 文章目录 系列文章目录前言一、不会公式&#xff1f;帮你生成二、不会处理数据&#xff1f;帮你处理写在最后 前言 自从人工智能横空而出&#xff0c;它在人们的生活中产生…...

    2023/5/28 19:13:19
  20. C语言中的类型转换

    C语言中的类型转换 隐式类型转换 整型提升 概念&#xff1a; C语言的整型算术运算总是至少以缺省&#xff08;默认&#xff09;整型类型的精度来进行的为了获得这个精度&#xff0c;表达式中字符和短整型操作数在使用之前被转换为普通整型&#xff0c;这种转换成为整型提升 如…...

    2023/5/28 19:10:27
  21. 华为OD机试之真正的密码(Java源码)

    真正的密码 题目描述 一行中输入一个字符串数组&#xff0c;如果其中一个字符串的所有以索引0开头的子串在数组中都有&#xff0c;那么这个字符串就是潜在密码在所有潜在密码中最长的是真正的密码&#xff0c;如果有多个长度相同的真正的密码&#xff0c;那么取字典序最大的为…...

    2023/5/28 19:08:59
  22. 互联网摸鱼日报(2023-05-28)

    互联网摸鱼日报&#xff08;2023-05-28&#xff09; InfoQ 热门话题 蚂蚁集团开源生态构建与基础软件技术开源布局 百度回应Bing成中国桌面搜索第一&#xff1b;阿里回应大裁员传闻&#xff1b;文心一言市场负责人怒怼科大讯飞&#xff5c;Q资讯 微步在线CEO薛锋&#xff1a…...

    2023/5/28 19:07:21
  23. Java设计模式-中介者模式

    简介 在软件开发中&#xff0c;设计模式是一种被广泛使用的技术&#xff0c;它提供了解决常见问题的可重用方案。中介者模式是其中之一&#xff0c;它通过引入一个中介对象&#xff0c;将各个对象之间的交互解耦&#xff0c;以实现更松散耦合和可维护的系统。 访问者模式是一…...

    2023/5/28 19:04:31
  24. 真相只有一个——谁是凶手

    谁是凶手 1.题目描述2. 解题思路3.代码展示 所属专栏&#xff1a;脑筋急转弯❤️ &#x1f680; >博主首页&#xff1a;初阳785❤️ &#x1f680; >代码托管&#xff1a;chuyang785❤️ &#x1f680; >感谢大家的支持&#xff0c;您的点赞和关注是对我最大的支持&am…...

    2023/5/28 19:01:13
  25. Git常见命令快速参考

    本文是笔者学习廖雪峰的Git教程记录的笔记&#xff0c;算是对其内容的精简&#xff0c;仅供查询和回顾之用。若有疏漏&#xff0c;还请查看其原文。 基本概念 Git进行版本控制&#xff0c;管理的是修改而非文件。分清楚工作区&#xff0c;版本库&#xff0c;暂存区(stage)就能…...

    2023/5/28 18:57:32
  26. unix环境高级编程 第一章 UNIX基础知识 Go实现代码

    ls命令的Go语言实现 package mainimport ("fmt""os" )func main() {if len(os.Args) ! 2 {panic("参数数量不足")}targetPath : os.Args[1]if dirList, err : os.ReadDir(targetPath); err nil {for _, dirInfo : range dirList {fmt.Println(…...

    2023/5/28 18:54:42
  27. 【算法训练(day6)】双指针模板

    一.双指针算法的由来和使用场景 通常情况下我们可能会遇到在某些可遍历的集合中寻找满足某种性质的字串或元素。这时候我们采取暴力的思路就会面临多重循环。我们可以利用题目中所给的集合并利用其性质将多重循环降成一重循环。光用语言描述可能不太好理解。接下来看几个双指针…...

    2023/5/28 18:53:58
  28. C#,码海拾贝(23)——求解“复系数线性方程组“的“全选主元高斯消去法“之C#源代码,《C#数值计算算法编程》源代码升级改进版

    using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 求解线性方程组的类 LEquations /// 原作 周长发 /// 改编 深度混淆 /// </summary> public static partial class LEquations { /// <summary&g…...

    2023/5/28 18:48:35
  29. K8s in Action 阅读笔记——【5】Services: enabling clients to discover and talk to pods

    K8s in Action 阅读笔记——【5】Services: enabling clients to discover and talk to pods 你已了解Pod以及如何通过ReplicaSets等资源部署它们以确保持续运行。虽然某些Pod可以独立完成工作&#xff0c;但现今许多应用程序需要响应外部请求。例如&#xff0c;在微服务的情况…...

    2023/5/28 18:44:46
  30. 中文核心论文写作经验总结和工具推荐

    中文核心论文写作经验总结和工具推荐 1 写作问题案例及解决方法1.1 方法介绍部分冗长杂乱1.2 实验结果介绍没有逻辑1.3 文章整体逻辑把握不清1.4 英文过于中式和口水化 2 投稿流程经验3 工具4 总结 1 写作问题案例及解决方法 1.1 方法介绍部分冗长杂乱 自身问题&#xff1a;介…...

    2023/5/28 18:43:16

最新文章

  1. (哈希表 ) 349. 两个数组的交集 ——【Leetcode每日一题】

    ❓349. 两个数组的交集 难度&#xff1a;简单 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出&#xff1a;[…...

    2023/5/28 20:13:01
  2. 恒容容器放气的瞬时流量的计算

    有时候&#xff0c;你会遇到一个问题&#xff0c;该问题的描述如下&#xff1a; 你有一个已知体积的容器&#xff0c;设容器体积为V&#xff0c;里面装有一定压力(初始压力)的气体&#xff0c;如空气或氢气等&#xff0c;设初始压力为1MPa&#xff0c;容器出口连接着一个阀门开…...

    2023/5/28 20:10:24
  3. [LeetCode周赛复盘] 第 105 场双周赛20230528

    [LeetCode周赛复盘] 第 105 场双周赛20230528 一、本周周赛总结6395. 购买两块巧克力1. 题目描述2. 思路分析3. 代码实现 6394. 字符串中的额外字符1. 题目描述2. 思路分析3. 代码实现 6393. 一个小组的最大实力值1. 题目描述2. 思路分析3. 代码实现 6464. 最大公约数遍历1. 题…...

    2023/5/28 20:01:00
  4. 二分查找问题(中间的target,和最左最右target求法)

    本文涉及leetcode以下题目&#xff1a; leetcode704. 二分查找 leetcode 34. 在排序数组中查找元素的第一个和最后一个位置 要想做好二分查找的题目&#xff0c;我觉得应该首先知道二分查找的前提条件&#xff1a;二分查找也称为折半查找&#xff0c;它只适用于有序数组。然后就…...

    2023/5/28 19:58:38
  5. 使用FSL对DTI数据进行预处理

    使用FSL对DTI数据进行预处理 一、topup处理二、eddy处理一、topup处理 为了校正磁场引起的畸变,对DTI的B0像分别采集了A>P和P>A的反向编码的两种B0像。利用AP和PA图像进行一个topup处理,校正畸变。 1、 使用dcm2niix将AP PA图像转为nii格式 假设转换后的图像为sub01_…...

    2023/5/28 19:55:46
  6. DAY 69 rsync远程同步

    rsync介绍 rsync简介 rsync&#xff08;Remote Sync&#xff0c;远程同步&#xff09;是一个开源的快速备份工具&#xff0c;可以在不同主机之间镜像同步整个目录树&#xff0c;支持增量备份&#xff0c;并保持链接和权限&#xff0c;且采用优化的同步算法&#xff0c;传输前…...

    2023/5/28 19:55:07
  7. JS中this的指向

    JS中this的指向 本文目录 JS中this的指向全局上下文&#xff08;Global Context&#xff09;函数上下文&#xff08;Function Context&#xff09;普通函数调用作为对象的方法调用构造函数调用箭头函数回调函数 事件处理器上下文&#xff08;Event Handler Context&#xff09;…...

    2023/5/28 19:53:53
  8. 如何在华为OD机试中获得满分?Java实现【查找两个字符串a,b中的最长公共子串】一文详解!

    ✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1、题目描述2、输入描述3、输出描述…...

    2023/5/28 19:48:10
  9. OS之磁盘调度算法

    目录 一、先来先服务(FCFS) 基本思想 案例 二、最短寻道时间优先(SSTF) 基本思想 案例 饥饿现象 三、扫描算法(SCAN) 基本思想 案例 四、循环扫描算法(CSCAN) 基本思想 案例 一、先来先服务(FCFS) 基本思想 根据进程请求访问磁盘的先后次序来进行调度 案例 二、…...

    2023/5/28 19:40:46
  10. leetcode解题思路分析(一百四十)1201 - 1208 题

    丑数3 给你四个整数&#xff1a;n 、a 、b 、c &#xff0c;请你设计一个算法来找出第 n 个丑数。丑数是可以被 a 或 b 或 c 整除的 正整数 。 容斥原理二分法 class Solution { public:int nthUglyNumber(int n, int a, int b, int c) {long long ab lcm((long long)a, (lo…...

    2023/5/28 19:39:19
  11. 9. Linux下实现简单的UDP请求

    本文简单介绍了UDP传输层协议&#xff0c;并在Linux下实现简单的socket通讯 一、UDP UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是一种无连接的传输层协议&#xff0c;它不保证数据包的可靠性和顺序。UDP在IP协议的基础上增加了简单的差错…...

    2023/5/28 19:37:42
  12. 如何在华为OD机试中获得满分?Java实现【24点游戏算法】一文详解!

    ✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1、题目描述2、输入描述3、输出描述…...

    2023/5/28 19:36:41
  13. C#,码海拾贝(26)——求解“一般带状线性方程组”之C#源代码,《C#数值计算算法编程》源代码升级改进版

    using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 求解线性方程组的类 LEquations /// 原作 周长发 /// 改编 深度混淆 /// </summary> public static partial class LEquations { /// <summary> /…...

    2023/5/28 19:35:11
  14. 关于linux系统can收发,以及jetson系列can收发的说明,以及SN65HVD230 CAN board和MCP2515和TJA1050的区别是什么?

    1&#xff0c;jetson orin、Tx2有can处理器&#xff0c;没有收发器 所以官方推荐用SN65HVD230 CAN board就可以了。理论上单独的TJA1050也是可以的。。。 2&#xff0c;如果本身没有can像jetson nano、香橙派这样&#xff0c;就需要使用MCP2515和TJA1050的结合体了 SN65HVD230…...

    2023/5/28 19:34:24
  15. vue3项目创建步骤,以及项目运行失败的原因和解决方法

    vue3项目创建步骤&#xff0c;以及项目运行失败的原因和解决方法 vue3项目创建前提&#xff1a;搭建node.js环境第一步&#xff1a;创建一个空文件夹第二步&#xff1a;打开空文件夹&#xff0c;如图所示第三步&#xff1a;在此输入cmd&#xff0c;并按下回车键&#xff0c;进入…...

    2023/5/28 19:25:53
  16. QMI8658 - 姿态传感器学习笔记 - Ⅲ

    文章目录 1.复位1.1 上电复位&#xff1a;1.2 推荐工作条件 2. 校准(COD)2.1 校准步骤2.2 校准注意事项&#xff1a;2.3 校准状态指示2.4 校准参数更新 3. 自检3.1 加速度计自检3.2 陀螺仪自检 4. Ctrl94.1 写Ctrl94.2 读Ctrl94.3 Ctrl9详细命令说明 5. 中断5.1 同步采样模式5.…...

    2023/5/28 19:23:58
  17. vscode配置flutter开发环境,不需要安装第三方安卓模拟器

    1.获取Flutter SDK 点击下方的安装包&#xff0c;获取 stable 发行通道的 Flutter SDK 最新版本&#xff1a;Flutter SDK 将压缩包解压&#xff0c;然后把其中的 flutter 目录整个放在你想放置 Flutter SDK 的路径中**&#xff08;注意不要出现中文目录&#xff09;** 配置Wi…...

    2023/5/28 19:20:09
  18. 杨立昆:科学之路读书笔记2

    杨立昆&#xff1a;科学之路读书笔记2 人工智能的低谷人工智能无所不能吗&#xff1f;谁将从AI人工智能革命中获益结语 一起学AI系列博客&#xff1a;目录索引 人工智能的低谷 上回分享了读书缘由&#xff0c;杨立昆的背景及其对人工智能的研究看法&#xff0c;这回分享他如何…...

    2023/5/28 19:19:33
  19. 老板让你Excel统计数据无从下手?没事,ChatGPT来帮你!

    系列文章目录 老板让你写个PPT没有头绪&#xff1f;没事&#xff0c;ChatGPT来帮你&#xff01;传送门 文章目录 系列文章目录前言一、不会公式&#xff1f;帮你生成二、不会处理数据&#xff1f;帮你处理写在最后 前言 自从人工智能横空而出&#xff0c;它在人们的生活中产生…...

    2023/5/28 19:13:19
  20. C语言中的类型转换

    C语言中的类型转换 隐式类型转换 整型提升 概念&#xff1a; C语言的整型算术运算总是至少以缺省&#xff08;默认&#xff09;整型类型的精度来进行的为了获得这个精度&#xff0c;表达式中字符和短整型操作数在使用之前被转换为普通整型&#xff0c;这种转换成为整型提升 如…...

    2023/5/28 19:10:27
  21. 华为OD机试之真正的密码(Java源码)

    真正的密码 题目描述 一行中输入一个字符串数组&#xff0c;如果其中一个字符串的所有以索引0开头的子串在数组中都有&#xff0c;那么这个字符串就是潜在密码在所有潜在密码中最长的是真正的密码&#xff0c;如果有多个长度相同的真正的密码&#xff0c;那么取字典序最大的为…...

    2023/5/28 19:08:59
  22. 互联网摸鱼日报(2023-05-28)

    互联网摸鱼日报&#xff08;2023-05-28&#xff09; InfoQ 热门话题 蚂蚁集团开源生态构建与基础软件技术开源布局 百度回应Bing成中国桌面搜索第一&#xff1b;阿里回应大裁员传闻&#xff1b;文心一言市场负责人怒怼科大讯飞&#xff5c;Q资讯 微步在线CEO薛锋&#xff1a…...

    2023/5/28 19:07:21
  23. Java设计模式-中介者模式

    简介 在软件开发中&#xff0c;设计模式是一种被广泛使用的技术&#xff0c;它提供了解决常见问题的可重用方案。中介者模式是其中之一&#xff0c;它通过引入一个中介对象&#xff0c;将各个对象之间的交互解耦&#xff0c;以实现更松散耦合和可维护的系统。 访问者模式是一…...

    2023/5/28 19:04:31
  24. 真相只有一个——谁是凶手

    谁是凶手 1.题目描述2. 解题思路3.代码展示 所属专栏&#xff1a;脑筋急转弯❤️ &#x1f680; >博主首页&#xff1a;初阳785❤️ &#x1f680; >代码托管&#xff1a;chuyang785❤️ &#x1f680; >感谢大家的支持&#xff0c;您的点赞和关注是对我最大的支持&am…...

    2023/5/28 19:01:13
  25. Git常见命令快速参考

    本文是笔者学习廖雪峰的Git教程记录的笔记&#xff0c;算是对其内容的精简&#xff0c;仅供查询和回顾之用。若有疏漏&#xff0c;还请查看其原文。 基本概念 Git进行版本控制&#xff0c;管理的是修改而非文件。分清楚工作区&#xff0c;版本库&#xff0c;暂存区(stage)就能…...

    2023/5/28 18:57:32
  26. unix环境高级编程 第一章 UNIX基础知识 Go实现代码

    ls命令的Go语言实现 package mainimport ("fmt""os" )func main() {if len(os.Args) ! 2 {panic("参数数量不足")}targetPath : os.Args[1]if dirList, err : os.ReadDir(targetPath); err nil {for _, dirInfo : range dirList {fmt.Println(…...

    2023/5/28 18:54:42
  27. 【算法训练(day6)】双指针模板

    一.双指针算法的由来和使用场景 通常情况下我们可能会遇到在某些可遍历的集合中寻找满足某种性质的字串或元素。这时候我们采取暴力的思路就会面临多重循环。我们可以利用题目中所给的集合并利用其性质将多重循环降成一重循环。光用语言描述可能不太好理解。接下来看几个双指针…...

    2023/5/28 18:53:58
  28. C#,码海拾贝(23)——求解“复系数线性方程组“的“全选主元高斯消去法“之C#源代码,《C#数值计算算法编程》源代码升级改进版

    using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 求解线性方程组的类 LEquations /// 原作 周长发 /// 改编 深度混淆 /// </summary> public static partial class LEquations { /// <summary&g…...

    2023/5/28 18:48:35
  29. K8s in Action 阅读笔记——【5】Services: enabling clients to discover and talk to pods

    K8s in Action 阅读笔记——【5】Services: enabling clients to discover and talk to pods 你已了解Pod以及如何通过ReplicaSets等资源部署它们以确保持续运行。虽然某些Pod可以独立完成工作&#xff0c;但现今许多应用程序需要响应外部请求。例如&#xff0c;在微服务的情况…...

    2023/5/28 18:44:46
  30. 中文核心论文写作经验总结和工具推荐

    中文核心论文写作经验总结和工具推荐 1 写作问题案例及解决方法1.1 方法介绍部分冗长杂乱1.2 实验结果介绍没有逻辑1.3 文章整体逻辑把握不清1.4 英文过于中式和口水化 2 投稿流程经验3 工具4 总结 1 写作问题案例及解决方法 1.1 方法介绍部分冗长杂乱 自身问题&#xff1a;介…...

    2023/5/28 18:43:16
  31. 【ChatGPT】从零开始构建基于ChatGPT的嵌入式(Embedding) 本地(Local) 智能客服问答机器人模型

    目录 方案流程 1. Embeddings 介绍 术语&#xff1a;微调 vs 嵌入 一句话理解便是&#xff1a;embedding model 可以将文本转换为固定长度的连续向量。 架构流程图 3、Qdrant云数据库的搭建 3.1、初识Qdrant 3.2、创建云数据库 3.3、通过curl 接口访问 4、写入测试数…...

    2023/5/28 17:16:05
  32. 【ChatGPT】在20分钟内使用 LangChain + Ray构建自托管问答服务

    This is part 3 of a blog series. In this blog, we’ll show you how to build an LLM question and answering service. In future parts, we will optimize the code and measure performance: cost, latency and throughput. 这是博客系列的第 3 部分。在本博客中,我们将…...

    2023/5/28 15:14:53
  33. 【ChatGPT】Turbocharge LangChain: guide to 20x faster embedding | LangChain: 嵌入速度提高 20 倍的指南

    目录 Why do I need to parallelize this?为什么我需要并行化它? Stages of our Data Pipeline 数据管道的各个阶段 Execution...

    2023/5/28 15:06:52
  34. 最新ChatGPT GPT-4 相似匹配Embedding技术详解(附ipynb与python源码及视频讲解)——开源DataWhale发布入门ChatGPT技术新手从0到1必备使用指南手册(一)

    目录 前言最新ChatGPT GPT-4 相似匹配Embedding技术详解1. 何为Embedding2. 相关API2.1 LMAS Embedding API2.2 ChatGPT Style 3. Embedding应用3.1 QA3.2 聚类3.3 推荐 相关文献 参考资料其它资料下载 前言 如果您想提高ChatGPT中文本处理的效率和精度&#xff0c;那么Embedd…...

    2023/5/28 12:45:09
  35. ChatGPT的access_token获取(最新!!!)

    ChatGPT的access_token获取&#xff08;最新&#xff01;&#xff01;&#xff01;&#xff09; 序言 最近在搞移动应用开发&#xff0c;心血来潮写了个chatGPT的app&#xff0c;但是接口只能用官网提供的&#xff0c;我自己的号没有免费额度&#xff0c;朋友的号也就5$的额度…...

    2023/5/28 12:19:58
  36. 【ChatGPT】ChatGPT 在智能客服产品如何落地?

    目录 简介 智能客服产品的典型特征 人力密集: 数据密集: 流程可定义:...

    2023/5/28 12:15:11
  37. 【ChatGPT】ChatGPT使用指南——句词分类

    目录 ChatGPT使用指南——句词分类 1. NLU基础 1.1 句子级别的分类 1.2 Token级别的分类 2. 相关API...

    2023/5/28 11:56:24
  38. 【ChatGPT】技术原理:ChatGPT怎么工作?

    目录 简介:ChatGPT的工作原理概述 Transformer 架构原理...

    2023/5/28 10:39:46
  39. 【ChatGPT】ChatGPT基础科普——知其一点所以然

    目录 ChatGPT基础科普——知其一点所以然 语言的本质 从图灵测试到ChatGPT 1. LM 2. Transformer 3. GPT...

    2023/5/28 10:09:26
  40. ChatGPT使用指南——相似匹配

    目录 ChatGPT使用指南——相似匹配 1. 何为Embedding 2. 相关API 2.1 LMAS Embedding API 2.2 ChatGPT Style 3. Embedding应用...

    2023/5/28 8:55:00
  41. 【ChatGPT】使用 LangChain 和 Ray 实现 100 行代码构建 LLM 开源搜索引擎【1】

    目录 Introduction Building the index 构建索引 Accelerating indexing using Ray 使用 Ray 加速索引编制 Serving Conclusion...

    2023/5/28 8:53:34
  42. 【ChatGPT】ChatGPT使用指南——文本生成

    目录 ChatGPT使用指南——文本生成 1 引言 2 文本摘要任务 2.1 什么是文本摘要&#xff1f; 2.2 常见的文本摘要技术 2.3 基于OpenAI接口的文本摘要实验 3 文本纠错任务 3.1 什么是文本纠错&#xff1f; 3.2 常见的文本纠错技术 3.3 基于OpenAI接口的文本纠错实验 4…...

    2023/5/28 8:24:05
  43. ChatGPT商业应用——LLM是星辰大海

    目录 ChatGPT商业应用——LLM是星辰大海 1. 研究背景 1.1 研究背景 1.2 研究方法...

    2023/5/28 7:59:04
  44. 国内可直接访问ChatGPT体验站,已稳定2个月 (域名被拦截解决方案)

    新体验地址&#xff1a;https://zizhu888.cn/chatgpt/index.html ChatGPT体验站3月初上线&#xff0c;上线后&#xff0c;PV最高时3000&#xff0c;UV2000&#xff0c;付费用户有小300个 上线后&#xff0c;前前后后遇到了不少坑爹问题&#xff0c;下面是最近PV访问曲线图&am…...

    2023/5/28 7:33:09
  45. AIGC——使用Cursor对比直接使用chatGPT有哪些技巧

    Cursor对比直接使用chatGPT有哪些优势 1. 聊聊it团队经常面临的问题2. 试想一些AI辅助的应用场景3. 看回现实可用的工具及其使用3.1 加载文件作为对话上下文3.2 源码工程辅助阅读3.3 批量文件式输入口3.4 规范核查工具 4 通用思路4.1 提供解决方案思路4.2 借助chatGPT构建全流程…...

    2023/5/28 4:27:19
  46. ChatGPT中文版Prompt提示工程超详细指南《提示工程高级技巧与技术》Github最新破万星项目Meta AI前工程师解密百万年薪提示工程师GPT-4模型优化利器(二)不定期更新

    提示工程高级技巧与技术 前言Introduction 导言零样本提示少样本提示少样本提示的限制 Chain-of-Thought Prompting 链式思考&#xff08;CoT&#xff09;提示零样本COT提示 Zero-shot COT 自我一致性生成知识提示自动提示工程师&#xff08;APE&#xff09;Active-Prompt方向性…...

    2023/5/28 0:42:10
  47. 【ChatGPT】ChatGPT使用指南——文本推理

    目录 ChatGPT使用指南——文本推理 1. 什么是推理(Reasoning)? 2. 导入ChatGPT 3. 测试ChatGPT的推理能力...

    2023/5/27 23:40:23
  48. ChatGPT免费使用的方法有哪些?

    目录 一、ChatGpt是什么&#xff1f; 二、ChatGPT国内免费使用的方法&#xff1a; 第一点&#xff1a;电脑端 第二点&#xff1a;手机端 三、结语&#xff1a; 一、ChatGpt是什么&#xff1f; ChatGPt是美国OpenAI [1] 研发的聊天机器人程序 。更是人工智能技术驱动的自然语…...

    2023/5/27 23:37:06
  49. 用ChatGPT辅助处理Excel

    在日常工作中&#xff0c;我们经常需要处理大量的Excel表格&#xff0c;而在处理Excel表格时&#xff0c;常常会遇到重复、冗余、不清晰的数据等问题&#xff0c;导致我们耗费大量的时间和精力。 在这种情况下&#xff0c;现代技术的应用提供了更加高效的解决方案&#xff0c;…...

    2023/5/27 18:32:31
  50. Pycharm安装ChatGPT插件

    文章目录 前言一、安装ChatGPT插件二、使用步骤1.打开NexChatGPT2.发送请求 总结 前言 通过安装ChatGPT插件&#xff0c;您可以在PyCharm中更轻松、高效地使用ChatGPT模型进行开发&#xff0c;从而提高您的工作效率和准确性。 一、安装ChatGPT插件 打开PyCharm&#xff0c;单…...

    2023/5/27 17:28:47
  51. 它来了!ios版ChatGPT

    ChatGPT 的 iOS 版终于来了&#xff0c;不过目前只支持 iOS 美丽国区&#xff0c;你需要使用美丽国区账号才能下载使用。 目录 前提使用总结 前提 一部苹果手机一个美丽国苹果账号一个可以正常访问ChatGPT网页版的网络环境一个ChatGPT账号 使用 登录准备好的美丽国苹果账号。…...

    2023/5/27 10:28:02
  52. 好用的IntelliJ IDEA ChatGPT插件:NexChatGPT

    随着ChatGPT的爆火&#xff0c;ChatGPT给我们的生产生活带来一定的影响&#xff0c;ChatGPT相关的工具插件潮水般的涌现。ChatGPT对IT的影响也不小&#xff0c;尤其是自动化编程&#xff0c;今天介绍几款IntelliJ IDEA中ChatGPT插件。 一、NexChatGPT NexChatGPT是一款开箱即…...

    2023/5/27 0:48:49
  53. 2023小狐狸ChatGPT源码1.9小程序 带绘画 带分销流量主系统智能客服AI源码+教程

    2023全开源ChatGPT微信小程序&#xff0c;狐狸版本1.9&#xff0c;5.12已更新&#xff0c;增加绘画功能&#xff0c;带流量主带付费购买次数&#xff0c;可邀请好友获得问答次数 看广告获得问答次数 付费购买获得问答次数 狐狸版号1.9&#xff08;最 新版&#xff09;&#xf…...

    2023/5/26 17:51:14
  54. 【国内chatgpt使用方法合集】(5月26日已更新)

    写在前面 Hello大家好&#xff0c; 我是【麟-小白】&#xff0c;一位软件工程专业的学生&#xff0c;喜好计算机知识。希望大家能够一起学习进步呀&#xff01;本人是一名在读大学生&#xff0c;专业水平有限&#xff0c;如发现错误或不足之处&#xff0c;请多多指正&#xff0…...

    2023/5/26 17:44:47
  55. 【ChatGPT】GPT-5 下一代:即将到来的7种能力将改变人工智能和技术的未来 | OpenAI

    GPT-5 下一代:即将到来的7种能力将改变人工智能和技术的未来 | OpenAI 文章目录 GPT-5 下一代:即将到来的7种能力将改变人工智能和技术的未来 | OpenAI第一:扩展多模式理解。第二:交互式多媒体。第三:为具备一般能力的机器人提供动力。第四:自主人工智能模型开发。第五:…...

    2023/5/26 11:55:09
  56. 玩转ChatGPT:论文辅助写作(附Claude测评)

    一、写在前面 嘿&#xff01;嘿&#xff01;嘿&#xff01;大家好&#xff0c;今天我们来聊一下使用GPT们进行论文辅助写作。不过&#xff0c;我要先交代一下&#xff0c;GPT的使用门槛比较高&#xff0c;不少童鞋都用不上。所以&#xff0c;我极力推荐一个平替产品——Claude…...

    2023/5/26 11:26:08
  57. [持续更新]使用chatgpt的几种方法~

    1. monica 使用edge浏览器或者chrome浏览器&#xff0c;直接在官网下载即可&#xff0c;网址直通&#xff1a; bing: https://www.microsoft.com/zh-cn/edge/download?formMA13FJ google&#xff1a; Google Chrome 网络浏览器 备注&#xff1a;你需要先搭上梯子哈 安装打…...

    2023/5/26 10:39:41
  58. 苹果手机爽了!一招搞定ChatGPT Plus,超级稳!

    大家好&#xff0c;我是五竹。 昨天用苹果手机尝试了一下&#xff0c;借助App Store&#xff08;苹果应用商店&#xff09;升级 Plus&#xff0c;成功了&#xff01;一共升级了三个号&#xff01;有两个一气呵成&#xff0c;轻松搞定。最后一个可能触发风控了&#xff0c;但第…...

    2023/5/26 9:58:09
  59. ChatGPT账号注册,为什么总是提示Access Denied you do not have acces

    问题&#xff1a;提示Access denied 无法登录登录的时候&#xff0c;提示Access denied,You do not have access to chat.openai.com.原因登录出现这个界面&#xff0c;说明你的IP被OpenAI拉黑了&#xff0c;OpenAI对比较频繁访问的云主机商屏蔽了相关的IP出口段&#xff0c;所…...

    2023/5/26 9:00:56
  60. ChatGPT 的 AskYourPDF 插件所需链接如何获取?

    一、背景 目前 ChatGPT 主要有两款 PDF 对话插件&#xff0c;一个是 AskYourPDF 一个是 ChatWithPDF&#xff08;需 ChatGPT Plus&#xff09;&#xff0c;他们都可以实现给一个公共的PDF 链接&#xff0c;然后进行持续对话&#xff0c;对读论文&#xff0c;阅读 PDF 格式的文…...

    2023/5/26 8:27:01