编程语言
nogos
I can do it
展开
-
golang mutex源码详细解析
目前golang的版本是1.12,其中的mutex是增加了普通模式和饥饿模式切换的优化版本,为了便于理解,这里先从上一个版本1.7版本的mutex开始分析,以后再对优化版本进行说明。1.7版本Mutex实现Mutex定义// mutex是互斥锁// mutex的零值是没有加锁的//在使用之后不能被拷贝type Mutex struct { state int32 //状态...转载 2020-03-10 18:14:39 · 958 阅读 · 0 评论 -
GO 互斥锁实现原理剖析
前言 互斥锁是并发程序中对共享资源进行访问控制的主要手段,对此Go语言提供了非常简单易用的Mutex,Mutex为一结构体类型,对外暴露两个方法Lock()和Unlock()分别用于加锁和解锁。 Mutex使用起来非常方便,但其内部实现却复杂得多,这包括Mutex的几种状态。另外,我们也想探究一下Mutex重复解锁引起panic的原因。 按照惯例,本节内容从源码入手,提取出实现原理,又...转载 2020-03-10 17:08:42 · 1802 阅读 · 2 评论 -
Shell Script笔记
基本概念Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。变量转载 2018-06-11 21:53:02 · 208 阅读 · 0 评论 -
PHP开发笔记
PHP开发笔记原创 2018-04-03 21:42:28 · 525 阅读 · 0 评论 -
C++开发笔记
C++开发笔记原创 2018-01-02 10:35:16 · 275 阅读 · 0 评论 -
c++ const
const 修饰普通类型的变量const int a 7;int b = a; //it's righta = 8; //原创 2018-09-09 12:25:52 · 761 阅读 · 0 评论 -
Linux下Go环境安装
下载源码go1.10.3.linux-amd64.tar.gzhttps://dl.google.com/go/go1.10.3.linux-amd64.tar.gz解压# cd /usr/local/# tar -zxvf go1.10.3.linux-amd64.tar.gz添加环境变量# vim /etc/profile// 在最后一行添加export GOROOT=...原创 2019-02-20 17:16:53 · 587 阅读 · 0 评论 -
Linux 下 Gin 安装
Go环境搭建Go 环境搭建参看:https://blog.csdn.net/sunxianghuang/article/details/87808103下载安装Gin框架$ go get -u github.com/gin-gonic/ginGin框架使用示例GinTest.go源码package mainimport "github.com/gin-gonic/gin"fu...原创 2019-02-20 18:02:30 · 3257 阅读 · 0 评论 -
go面向对象 vs c++面向对象
面向对象的四大特性抽象—数据抽象(属性)和过程抽象(方法)封装—限定对外方法,控制数据访问继承—数据共享、代码重用多态—派生对象就是父对象c++ 抽象和封装#include <iostream>using namespace std;class rect {private: int length; //长度 int width; //宽度pu...原创 2019-04-11 17:28:06 · 378 阅读 · 0 评论 -
golang 深入理解map引用类型
理解指针什么是指针?指针是一种特殊的类型,指针变量的值是一个地址,该地址指向一个“指针类型”的变量指针声明var 指针变量名 *指针类型示例package mainimport( "fmt")func main() { var int_value = 10 var int_ptr = &int_value fmt.Printf("The ...原创 2019-05-28 13:07:35 · 5148 阅读 · 1 评论 -
深入理解PHP内核——变量及数据类型
静态类型语言 VS 动态类型语言从类型的维度来看,编程语言可以分为三大类:静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在编译期(compile-time)确定的, 也就是说在运行时变量的类型是不会发生变化的。动态类型语言,比如:PHP,python等各种脚本语言,这类语言中的类型是在运行时确定的, 那么也就是说类型通常可以在运行时发生变化无类型语言,,比如:汇编语言...原创 2019-02-22 16:55:01 · 676 阅读 · 0 评论 -
深入理解PHP内核——PHP脚本执行的生命周期
用户代码的执行PHP代码运行示意图当用户代码输入给PHP内核去执行的时候, PHP内核会对PHP代码进行词法分析和语法分析, 词法分析是把PHP代码分割成一个个的“单元”(TOKEN), 语法分析则将这些“单元”转化为Zend Engine可执行的操作。 然后PHP内部的Zend Engine对这些操作进行顺次的执行。Zend Engine是PHP内核的核心部分,负责最终操作的执形和结果的返...原创 2019-02-22 14:50:48 · 1048 阅读 · 0 评论