亚瑟 亚瑟
4年前
Python Sanic 高并发服务开发指南
技术基础AsyncIOPython3.4开始引入AsyncIO(https://docs.python.org/3/library/asyncio.html)模块,使得Python也支持异步IO。3.5版本里添加了async/await关键字,使得异步IO代码编写更加方便。3.6和3.7版本继续进行了完善
科工人 科工人
4年前
初学Go语言,对channel、并发的思考
初学go语言,对channel、并发感觉不太好理解。希望高人指点下。下面的代码是我看到一本书上的,就是讲解channel的。packagemainimport("fmt""math/rand")functest(chchanint,iint){ch<rand.Int()fmt.Println(i
Wesley13 Wesley13
3年前
Java多线程并发06——CAS与AQS
在进行更近一步的了解Java锁的知识之前,我们需要先了解与锁有关的两个概念CAS与AQS。关注我的公众号「Java面典」了解更多Java相关知识点。CAS(CompareAndSwap/Set)概念CAS函数,是比较并交换函数,它是原子操作函数。原理CA
Wesley13 Wesley13
3年前
Java并发多线程高频面试题
并发知识不管在学习、面试还是工作过程中都非常非常重要,看完本文,相信绝对能助你一臂之力。1、线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程。每个进程都有自己的内存空间,可执行代码和唯一进程标识符(PID)。每条线程并行执行不同的任务。不同的进程使用不同的内存空间(线程自己的堆栈),而所有
Wesley13 Wesley13
3年前
Java并发——各类互斥技术的效率比较
    既然Java包括老式的synchronized关键字和JavaSE5中心的Lock和Atomic类,那么比较这些不同的方式,更多的理解他们各自的价值和适用范围,就会显得很有意义。    比较天真的方式是在针对每种方式都执行一个简单的测试,就像下面这样:import java.util.concurrent.locks.Lock;
Stella981 Stella981
3年前
Netty与Voovan并发性能对比
Netty: 大名鼎鼎,Javaer人尽皆知的优秀框架,作为曾今的使用者对netty的作者也有无限的崇拜之情.对于netty的特点和优势这里不在多言,以免言多必失,大家可以问度娘.嘿嘿Voovan:  Voovan奉行简约、优雅,其核心功能则是异步通信,同时还包含了动态编译、反射、ORM、Http服务和客户端、websock
Wesley13 Wesley13
3年前
Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore , Condition
http://www.importnew.com/21889.html(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.importnew.com%2F21889.html)1)CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不
Wesley13 Wesley13
3年前
Java 并发编程:AQS 的公平性
所谓公平是指所有线程对临界资源申请访问权限的成功率都一样,它不会让某些线程拥有优先权。通过几篇文章的分析我们知道了JDK的AQS的锁是基于CLH锁进行优化的,而其中使用了FIFO队列,也就是说等待队列是一个先进先出的队列。那是否就可以说每条线程获取锁时就是公平的呢?关于公平性,严格来说应该分成三个点来看:入队阶段、唤醒阶段以及闯入策略。友情链接:
Wesley13 Wesley13
3年前
Java集合及concurrent并发包总结(转)
<divid"cnblogs\_post\_body"class"blogpostbody"<p<strong1.集合包</strong</p<p&nbsp;&nbsp;集合包最常用的有Collection和Map两个接口的实现类,Colleciton用于存放多个单对象,Map用于存放KeyValue形式的键值对。</p<p
Wesley13 Wesley13
3年前
Java并发学习笔记(17)性能,分离锁
多线程往往比单线程开销要大,这包括加锁释放锁,信号,同步,切换,线程的创建销毁,调度.(1)如何优化性能:     如果重复计算量大的话,使用缓存来保存旧的结果.以便下次计算时使用.     减少阻塞.运行和阻塞会增加上下文切换.     因为锁是串行的这会引起大量的阻塞:所以我们在使用锁的时候要尽量的做到以下几