初识多线程__上 互斥锁 当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制 线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁。 互斥锁为资源引入一个状态:锁定/非锁定。 某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放 ...
分类:
编程语言 时间:
2018-06-24 23:41:47
阅读次数:
194
一、是什么 Zookeeper 作为一个分布式高可用、高性能的开源协调服务框架,主要用来解决分布式集群中应用系统的一致性和多个进程间的同步控制问题,分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式 ...
分类:
其他好文 时间:
2018-06-21 22:39:07
阅读次数:
215
1.线程状态 2.线程互斥所同步控制 a同时间可能有多个线程在锁定池中,它们处于同步阻塞状态竞争锁定; b同时间只能有一个线程获得锁定处于状态; 3.条件变量(线程通信) ...
分类:
编程语言 时间:
2018-06-17 21:20:14
阅读次数:
135
一、昨日内容回顾 1. 概念和理论 进程是计算机资源分配最小单位 进程三状态、同步、异步、阻塞、非阻塞 2. 进程的创建 实例化、自建类run,start,join,terminate,daemon等 3.进程的同步控制 Lock:互斥锁 Semaphore:锁+计数器 Event:事件 4.进程间 ...
分类:
编程语言 时间:
2018-06-14 18:44:05
阅读次数:
165
一、昨日内容回顾: 1. 守护进程 1)、p.saemon, 2 )、p.terminate 3 )、p.join 2. 同步控制 1)、锁,Lock 互斥锁,解决数据安全、进程之间资源抢占问题。 2)、信号量,Semaphore 锁+计数器 3)、事件,Event 通过一个标志位flag来控制进程 ...
分类:
编程语言 时间:
2018-06-13 19:37:42
阅读次数:
182
1.分布式系统概述 理解1: 分布式系统:分布式系统是针对一个大系统而言,将一个大系统分成多个子系统,即多个工程系统。 我们先看下传统的系统模式: 传统的系统模式将多个功能模块全部在一个工程中写完,模块之间耦合度太高,其中一个升级其他都得升级,把系统按照模块拆分成多个子系统。即在项目中建 立多个工程 ...
分类:
其他好文 时间:
2018-06-04 16:23:03
阅读次数:
164
PV操作是EdsgerDijkstra提出的一种经典的解决同步不同执行线程的问题的方法,这种方法是基于一种叫信号量的特殊变量来实现的。简单理解为就是通过**共享变量+信号量**实现的一种同步机制,其应用与生产者消费者模型,读写问题等领域。在Java中有基于AQS实现的Semaphore信号量类。wiki对于其名字来源的解释可以做出以下对比:P(down/signal/release/pend/tr
分类:
其他好文 时间:
2018-06-02 21:33:28
阅读次数:
188
什么是Zookeeper? Zookeeper是一个高效的分布式协调服务,它暴露了一些公用服务,比如命名/配置管理/同步控制/群组服务等。我们可以使用ZK来实现比如达成共识/集群管理/leader选举等。 Zookeeper是一个高可用的分布式管理与协调框架,基于ZAB算法(原子消费广播协议)的实现 ...
分类:
其他好文 时间:
2018-05-28 10:11:27
阅读次数:
158
分布式锁 在分布式环境中,为了保证数据的一致性,经常在程序运行的某个运行点。需要进行同步控制。 上面这个程序借助Curator来实现了一个简单的分布式锁。其核心接口如下: 工具 curator也提供了了很多的工具类,其中用的最多的就是zkPath和EnsurePath。 ZKPaths ZKPath ...
分类:
其他好文 时间:
2018-05-26 20:23:00
阅读次数:
149
1. 从多线程的协同和同步控制方面,分析和总结自己三次作业来的设计策略及其变化。 2. 基于度量来分析自己的程序结构 一下是我两次作业当中写出来的大概类(当然还有很多功能还没写,因为我的程序还未完成)。 File Modification My Taxi 3. 分析自己程序的bug 第六次作业中(便 ...
分类:
其他好文 时间:
2018-05-02 21:15:02
阅读次数:
125