2018年7月

GoLand File->Settings->Editor->General->Appearance->Show parameter name hints

 

 

 

 

 Go规定包声明中的包名是代码包路径的最后一个元素

 

                go 关键字及分类
类别                关键字

程序声明              import,package
程序实体声明和定义         chan,const,func,interface,map,struct,type,var
程序流程控制            go,select,break,case,continue,default,defer,else,fallthrough,for,goto,if,range,return,switch

 

只要多个进程同时对同一个资源进行访问,就很可能互相干扰,这种干扰通常称为竞态条件(race condition)
执行过程中不能中断的操作称为原子操作(atomic operation)
而只能被串行化访问或执行的某个资源或某段代码称为临界区(critical section)
可以看到,原子操作和临界区这两个概念看起来有些相似.
但是,原子操作是不能中断的,而临界区对是否可以被中断却没有强制的规定,
只要保证一个访问者再临界区中时其他访问者不会被放进来就可以了.
这也意味着它们的强度是不同的.
保证只有一个进程或线程再临界区之内的做法有一个官方称谓-互斥(mutual exclusion,简称mutex).
实现互斥的方法必须确保排他原则(exclusion principle),并且这种保证不能依赖与任何计算机硬件(包括CPU)

如果有一个代码块,它可以被多个线程并发执行,且总能够产生预期的结果,那么该代码块就是线程安全的(thread-safe)
如果某个进程中的所有线程都可以并发地对一个函数进行调用,并且无论它们调用该函数的实际执行情况怎样,
该函数都可以产生预期的结果,那么就可以硕这个函数是可重入的(reentrant).如果某个进程中的所有线程都可以
并发地对一个函数进行调用,并且无论它们调用该函数的实际执行情况怎样,该函数都可以产生预期的结果,
那么就可以说这个函数是可重入的.

 

 

 

mgo(Rich MongoDB driver for Go)

 

MingW

#include <stdio.h>
int myadd(int a, int b)
{
    return a + b;
}
all: test1.dll

test1.dll: test1.o
    gcc -shared -o test1.dll test1.o
test1.o: test1.c
    gcc -c test1.c
package main

import (
    "syscall"
    "fmt"
)

func main() {
    addfile, err := syscall.LoadLibrary("test1.dll") //动态库的路径
    if err != nil {
        fmt.Printf("cgo:err :%v\n", err)
    }
    myaddcall, _ := syscall.GetProcAddress(addfile, "myadd")

    var nargs uintptr = 3
    ret, _, callErr := syscall.Syscall(uintptr(myaddcall), nargs, 5, 3, 0)

    if callErr != 0 {
        fmt.Printf("Call myaddcall: %v\n", callErr)
    }
    fmt.Printf("myadd:%v\n", ret)
}

 

 

pacman -S mingw-w64-x86_64-toolchain

pacman -S base-devel

pacman -S msys-devel

pacman -Ss gcc

pacman -Syu

pacman -Su

 

gnatsd.exe

gnatsd -config ./go.conf -D

go.conf

  #Cluster Seed Node

  listen: 0.0.0.0:3222

  http:3223

  cluster {

    listen: 0.0.0.0:8248

  }

mongod --dbpath pathString

 

posted on 2018-07-01 07:56  void87  阅读(186)  评论(0编辑  收藏  举报

导航