#Sync

rsync 远程同步工具

和scp的功能一样;rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。(1)基本语法rsync   -rvl  ...
代码星球 ·2020-11-27

事件循环(Event Loop)promise、setTimeout、async的先后执行顺序

javaScript的特点就是单线程,在这个线程中拥有唯一的一个事件循环。JS分为同步任务和异步任务,同步任务都在主线程上执行。前一个任务执行完毕之后,执行后一个任务,形成一个执行栈;主线程之外,事件触发线程管理着一个任务队列,异步任务会被主线程挂起,不会进入主线程,而是进入任务队列。只要异步任务有了运行结果,就会在队...

Promise与Async await

解决回调地狱问题(代码臃肿、可读性差、耦合度过高、复用性差)  Promise是异步编程的一种解决方案,promise异步回调,可以避免层层嵌套回调。  Promise对象是一个构造函数,用来生成Promise实例。Promise的构造函数接收一个参数,是函数,并且传入两个参数:resolve,reject,分别表示异...
代码星球 ·2020-11-21

zookeeper的异常处理(Disconnected, SyncConnected, Expired)

最近系统中使用zookeeper支持三个功能:全量/增量索引的消息通知;搜索活跃节点检查;分布式锁做索引切换同步。线上服务对稳定性要求较高,包括各种异常情况,如网络中断导致连接断开,系统load过高导致zk超时等。从使用角度,做了几个测试,总结如下:1.zk内部两个后台线程:心跳线程(SendThread),时间处理线...

android AsyncTask 详细例子

一个典型AsyncTask的。class Activity{private     04 @Overridepublic 07.onCreate(savedInstanceState);setContentView(R.layout.mai...

android AsyncTask 详细例子(2)

超时处理java.util.Timer;java.util.TimerTask;import import import import 009TimeoutTestActivity 010final TIME_OUT= 1000  ...

解决如何让AsyncTask终止操作

受到这个的启发终于结局了如何在AsyncTask运行中终止其操作。单纯的onCancelled(true)是不行的下面把代码贴出来~实现了登陆功能。AsyncTask简介,它使创建需要与用户界面交互的长时间运行的任务变得更简单。相对来说AsyncTask更轻量级一些,适用于简单的异步处理,不需要借助线程和Handler...

深度解密 Go 语言之 sync.Pool

最近在工作中碰到了GC的问题:项目中大量重复地创建许多对象,造成GC的工作量巨大,CPU频繁掉底。准备使用 sync.Pool 来缓存对象,减轻GC的消耗。为了用起来更顺畅,我特地研究了一番,形成此文。本文从使用到源码解析,循序渐进,一一道来。本文基于Go1.14 目录是什么有什么用怎么用...

sync.Map实现分析

golang的SDK中提供线程安全的map实现sync.Map。它是针对RWMutex+map的实现方案中存在cacheline的falseshare提出来的。主要适用于两个场景:针对一个key一次写多次读。多个goroutine并发读写修改的key是没有交集。在这两种情况下,相比一个Mutex或者RWMutex加上普...
代码星球 ·2020-10-02

由浅入深聊聊Golang的sync.Map

今天在技术群中有小伙伴讨论并发安全的东西,其实之前就有写过map相关文章:由浅入深聊聊Golang的map。但是没有详细说明sync.Map是怎么一回事。回想了一下,竟然脑中只剩下“两个map、一个只读一个读写,xxxxx”等,关键词。有印象能扯,但是有点乱,还是写一遍简单记录一下吧。1.为什么...

Golang sync.NewCond条件锁的用法

packagemainimport("fmt""sync""time")funcmain(){c:=sync.NewCond(&sync.Mutex{})queue:=make([]interface{},0,10)removeFromQueue:=func(delaytime.Duration){time.S...

go语言标准库sync/atomic中的原子操作

原子操作吧其他同步技术更底层。他们没有锁,基本是在硬件层面实现的。事实上,他们经常被用来实现其他同步技术。请注意,下面的许多例子并发并发编程。他们仅用于来展示如何使用标准库中的sync/atomic包中的原子函数。标准库中的sync/atomic对整数类型T(包含int32,int64,uint32,uint64,ui...

golang 中 sync.Mutex 和 sync.RWMutex

golang中的sync包实现了两种锁:Mutex:互斥锁RWMutex:读写锁,RWMutex基于Mutex实现Mutex为互斥锁,Lock()加锁,Unlock()解锁在一个goroutine获得Mutex后,其他goroutine只能等到这个goroutine释放该Mutex使用Lock()加锁后,不能再继续对其...
代码星球 ·2020-10-02

使用 Load Balancer,Corosync,Pacemaker 搭建 Linux 高可用集群

由于网络架构的原因,在一般虚拟机或物理环境中常见的用VIP来实现双机高可用方案,无法照搬到Azure平台。但利用Azure平台提供的负载均衡或者内部负载均衡功能,可以达到类似的效果。本文介绍如何基于AzureLoadBalancer(LB),结合Linux开源的产品DRBD,Pacemaker和Corosync实现Ma...

asyncio并发编程

asyncio是python3.4以后引进的用于解决异步io编程的一整套解决方案tornado、gevent、twisted(scrapy、djangochannels)都使用了asyncio讲解asyncio的简单使用:importasyncioimporttimeasyncdefget_html(url):prin...
代码星球 ·2020-09-25
首页上一页...1516171819...下一页尾页