前言
小编看过很多讲Git的文章但感觉还是不够详细,所以出现了这篇文章。
今天来说一说Git命令全方位学习
文章目录
- Git是什么?
- Git的相关理论基础
- 日常开发中,Git的基本常用命令
- Git进阶之分支处理
- Git进阶之处理冲突
- Git进阶之撤销与回退
- Git进阶之标签tag
- Git其他一些经典命令
并发模型和分布式系统很相似
并发模型其实和分布式系统模型非常相似,在并发模型中是线程
彼此进行通信,而在分布式系统模型中是 进程
彼此进行通信。然而本质上,进程和线程也非常相似。这也就是为什么并发模型和分布式模型非常相似的原因。
分布式系统通常要比并发系统面临更多的挑战和问题比如进程通信、网络可能出现异常,或者远程机器挂掉等等。但是一个并发模型同样面临着比如 CPU 故障、网卡出现问题、硬盘出现问题等。
因为并发模型和分布式模型很相似,因此他们可以相互借鉴,例如用于线程分配的模型就类似于分布式系统环境中的负载均衡模型。
其实说白了,分布式模型的思想就是借鉴并发模型的基础上推演发展来的。
认识两个状态
并发模型的一个重要的方面是,线程是否应该共享状态
,是具有共享状态
还是独立状态
。共享状态也就意味着在不同线程之间共享某些状态
状态其实就是数据
,比如一个或者多个对象。当线程要共享数据时,就会造成 竞态条件
或者 死锁
等问题。当然,这些问题只是可能会出现,具体实现方式取决于你是否安全的使用和访问共享对象。
独立的状态表明状态不会在多个线程之间共享,如果线程之间需要通信的话,他们可以访问不可变的对象来实现,这是一种最有效的避免并发问题的一种方式,如下图所示
使用独立状态让我们的设计更加简单,因为只有一个线程能够访问对象,即使交换对象,也是不可变的对象。
并发模型
并行 Worker
第一个并发模型是并行 worker 模型,客户端会把任务交给 代理人(Delegator)
,然后由代理人把工作分配给不同的 工人(worker)
。如下图所示