1.进程
进程共有三种状态:就绪、阻塞和运行
就绪态
就绪状态是指程序已达到可以运行的状态,只等CPU分配资源就可以运行的状态。
阻塞态
当程序运行条件没有满足时,需要等待条件满足时候才能执行时所处的状态,如等待i/o操作时候,此刻的状态就叫阻塞态。
运行态
进程占用CPU,并在CPU上运行。即程序正在运行时所处的状态。
2.线程:
线程是进程中执行运算的最小单元,是操作系统执行处理机制的基本单位。每个进程至少有一个线程,线程可以利用进程所拥有的资源执行调度和运算。
3.多线程:
多线程是在程序在同一时间需要完成多项任务的时候实现的。多线程的目的仅仅是为了提高资源利用效率。各个线程执行自己的任务,这些线程可以”同时进行“。同时进行并非同一时刻进行,而是在某一时间段内,完成所有任务,任务的运行有先后顺序。
并发(同时互斥),并行(同一时刻)
4.线程安全:
线程安全问题大多是由全局变量及静态变量引起的,局部变量逃逸也可能导致线程安全问题。
4.处理高并发:
(1)系统拆分,将一个系统拆分为多个子系统,用dubbo来搞。
(2)缓存,必须得用缓存。
(3)MQ(消息队列),必须得用MQ:基础数据结构中的“先进先出”的一种数据机构。
(4)分库分表。
(5)读写分离。
(6)solrCloud:SolrCloud(solr 云)是Solr提供的分布式搜索方案,可以解决海量数据的 分布式全文检索,因为搭建了集群,因此具备高可用的特性,同时对数据进行主从备份,避免了单点故障问题。可以做到数据的快速恢复。并且可以动态的添加新的节点,再对数据进行平衡,可以做到负载均衡: