能力说明:
了解Python语言的基本特性、编程环境的搭建、语法基础、算法基础等,了解Python的基本数据结构,对Python的网络编程与Web开发技术具备初步的知识,了解常用开发框架的基本特性,以及Python爬虫的基础知识。
暂时未有相关云产品技术能力~
暂无个人介绍
Golang高并发:生产者消费者模型
Golang协程之了解管道的缓存能力
「让我们一起Golang」让协程自己kill自己
用Java仿一个低配版的Everything软件
管道(Channel)的读取与写入「让我们一起Golang」
浅谈协程并发竞争资源问题
「让我们一起Golang」怎样出让协程资源和设置可用CPU核心数
Go协程并发之百万级并发「让我们一起Golang」
带你了解Go怎样实现二级缓存
Go与Redis连接池的那些事儿~
我们之前讲过,当使用make建立管道时,第二个参数为零,就证明这个管道是无缓存能力的管道。只要没人写就永远读不出来,只要没人读就永远写不进去。
众所周知,Go语言最强大的地方在于它支持的高并发特性。下面我们先来了解一下Go并发的一些理论基础:同步异步、异步回调。也顺带在此介绍一下进程、线程、协程的区别。
CSP模型的最大优点是灵活。但是容易出现死锁的情况,且未给予直接的并行支持,并行需要建立在并发的基础之上。 在CSP模型里面,进程间需要经过一种被称为管道来进行通信。 什么是管道,两个并发任务不需要共享内存,而是通过建立一条点对点的管道,数据用完之后,管道立即撤销。有了管道,不需要事先锁,而是需要用数据时建立管道。不需要数据时就撤销管道了。 管道与共享内存之间有很大的区别,内存共享是通过内存来共享内存,而管道是通过通信来共享内存。所以管道通信比内存共享效率要高很多。
之前我们提到了怎么定义管道,讲了管道的读取和写入。那么今天我们就来讲一讲管道的关闭。
使用Arrays的sort方法可以对元素类型是基本类型的数组进行排序,而对元素类型是类类型的数组就无能为力了。譬如:对于一个学生数组,数组中元素的类型是Student类型的,若要先按学生的班级进行排序,在班级相同的情况下,再按学号进行排序。要实现这些的话,需要对学生类实现Comparable接口。