**什么是进程?**
当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。
而一个进程又是由多个线程所组成的。
**什么是线程?**
线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,
即不同的线程可以执行同样的函数。
**什么是多线程?**
多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,
也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
多线程的好处:
可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,
这样就大大提高了程序的效率。
多线程的不利方面:
线程也是程序,所以线程需要占用内存,线程越多占用内存也越多;
多线程需要协调和管理,所以需要CPU时间跟踪线程;
线程之间对共享资源的访问会相互影响,必须解决竞用共享资源的问题;
线程太多会导致控制太复杂,最终可能造成很多Bug;
- 分布式架构设计概要
- 技术管理
- 1.流程规范
- 2.精准效率
- 3.同步工具
- 代码审核
- 编程思想
- 控制反转和依赖注入
- public、private、protected
- MySQL
- MySQL安装
- MySQL常用
- MySQL主从配置
- 读写分离
- 分库分表
- 高可用
- MySQL集群
- MySQL优化
- MySQL慢查询优化
- 数据结构
- MySQL备份
- MySQL導出導入
- MSSQL
- 導出導入
- Redis
- Redis日常操作
- Redis安装
- Redis主从配置
- Redis哨兵
- 队列
- 分布式式锁
- Redis集群
- redis的缓存雪崩与缓存穿透
- Linux
- Linux基本操作
- Linux基础操作1
- Linux安装
- Linux安装Nginx
- Linux安装MySQL
- Linux安装PHP
- Linux安装Redis
- Linux安装Swoole
- Linux安装Elasticsearch
- Linux安装Mycat
- Linux优化
- 集群
- 服务器管理
- Nginx
- Nginx 首页外链接出现404问题
- Nginx常用命令行
- LNMP一键安装的404错误
- http和https站点设置
- Linux shell expect spawn
- Ubuntu环境
- 宝塔
- 定时任务
- Windows
- 生成OpenSSL证书
- Git
- Git基本操作
- Git练习
- Git上传到远程仓库,远程仓库更新到指定文件夹
- Git案例1
- Git案例2
- Git部署
- 远程连接
- 服务器原理
- 进程和线程
- 腾讯云
- 宝塔命令行
- 消息队列系统
- RabbitMQ
- RabbitMQ+Laravel
- Kafka
- Elasticsearch
- Laravel+Elasticsearch
- Elasticsearch Demo:ES搜索题目和内容
- 分布式
- PHP
- Laravel高级集成开发
- PHP技术栈
- LNMP
- LNMP+Laravel出现问题
- PHP+MySQL
- PHP连接MySQL
- PHP+Redis
- PHP连接Redis
- PHP+Redis简单操作
- Laravel+Redis
- Laravel+Swoole
- Swoole
- Swoole TCP案例
- Swoole HTTP案例
- Sswoole WebSocket案例
- Swoole发短信案例
- ThinkPHP
- Java技术栈
- 文档参考
- docker
- docker一般使用
- docker项目1
- docker+lnmp
- docker搭建wordpress
- Docker部署单体到微服务架构(Laravel)
- Docker部署单体到微服务架构(Spring Boot)
- docker部署vue项目
- Dockerfile
- 其他
- 笔记1
- 笔记2
- 开发速度
- 代码质量
- 踩过的坑
- 编辑器
- VSCode