2025-08-14
C++
00

线程

作者: 苏丙榅 链接: https://subingwen.cn/linux/thread 来源: 爱编程的大丙

1.线程概述

线程是轻量级的进程(LWP:light weight process),在Linux环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合,指令按照既定的逻辑控制计算机运行。操作系统会以进程为单位,分配系统资源,可以这样理解,进程是资源分配的最小单位,线程是操作系统调度执行的最小单位。

先从概念上了解一下线程和进程之间的区别:

  • 进程有自己独立的地址空间, 多个线程共用同一个地址空间
    • 线程更加节省系统资源, 效率不仅可以保持的, 而且能够更高
    • 在一个地址空间中多个线程独享: 每个线程都有属于自己的栈区, 寄存器(内核中管理的)
    • 在一个地址空间中多个线程共享: 代码段, 堆区, 全局数据区, 打开的文件(文件描述符表)都是线程共享的
    • 线程是程序的最小执行单位, 进程是操作系统中最小的资源分配单位

每个进程对应一个虚拟地址空间,一个进程只能抢一个CPU时间片 一个地址空间中可以划分出多个线程, 在有效的资源基础上, 能够抢更多的CPU时间片

2025-08-07
EnvironmentConfiguration
00

Node.js配置

一、进入官网下载安装包

Node.js 中文网

选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位

二、安装程序

(1)下载完成后,双击安装包,开始安装Node.js

(2)直接点【Next】按钮,此处可根据个人需求修改安装路径,修改完毕后继续点击【Next】按钮

2025-08-07
EnvironmentConfiguration
00

MySQL配置(Win)

1.官网下载MySQL

下载Mysql点击下载mysql.

下载完成后解压到某一个文件夹(记住这个路径,一会要用到)

2.配置初始化文件my.ini

根目录下创建一个txt文件,名字叫my,文件后缀为ini

之后复制下面这个代码放在文件下

(新解压的文件没有my.ini文件,需自行创建)

以下代码除安装目录和数据的存放目录需修改,其余不用修改

jsx
展开代码
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 ----------是你的文件路径------------- basedir=E:\Code\SoftWare\Dev\MySQL\mysql # 设置mysql数据库的数据的存放目录 ---------是你的文件路径data文件夹自行创建 datadir=E:\Code\SoftWare\Dev\MySQL\mysql\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。 max_connect_errors=10 # 服务端使用的字符集默认为utf8mb4 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8mb4
2025-08-07
StudyProjects
00

C++网盘项目

主要参考教程:c++项目实战,手把手教你搭建属于自己的网盘系统~_哔哩哔哩_bilibili

数据库搭建

主要通过MySQL实现了数据库的搭建工作,注:原教程采用的是SQLite

数据库设计

用户信息表 userInfo

字段类型约束条件其他
idint主键自动增长
namevarchar(32)not null
pwdvarchar(32)not null

用户好友表 friendInfo

字段类型约束条件其他
idint主键外键
friendIdint主键外键

搭建数据库

新建数据库

2025-07-24
Liunx
00

一、Linux入门到精通

1.操作系统概述

  1. 计算机由哪两个主要部分组成?硬件和软件
  2. 操作系统是什么?由什么作用?操作系统是软件的一类。主要作用是协助用户调度硬件工作,充当用户和计算机硬件之间的桥梁
  3. 常见的操作系统有哪些?PC端:Windows.Linux.MacOS移动端:Android、I0S、鸿蒙系统

2. Linux初识

  • 内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。
  • 系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。

完整的系统:内核、系统、软件 组成的

3. 虚拟机介绍

  1. 什么是虚拟机? 通过虚拟化技术,在电脑内,虚拟出计算机硬件,并给虚拟的硬件安装操作系统,即可得到一台虚拟的电脑,称之为虚拟机。
  2. 为什么要使用虚拟机? 学习Linux系统,需要有Linux系统环境。 我们不能给自己电脑重装系统为Linux,所以通过虚拟机的形式,得到可以用的Linux系统环境,供后续学习使用