zoukankan      html  css  js  c++  java
  • [GO]gomaxprocs的使用

    package main
    
    import (
        "runtime"
        "fmt"
    )
    
    func main() {
        n := runtime.GOMAXPROCS(1)//指定使用核进行运算,这个函数的返回值是当前机器的cpu个数
       fmt.Println(" n = ", n) 

    for true {
        go fmt.Print(
    1)
        fmt.Print(
    0)
      }
    }

    会发现打印结果里有大片的1或者0

    00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

    那如果指定两个核呢

    ...
    n := runtime.GOMAXPROCS(2)
    ...

    那么结果会很不一样

    1100011110010111001100101100010000001001111111000000011111110000011111100100001111100100000111111001011000000000000000000000000000000000000000000

    可以看得出来并发的时间片出让明显快了很多

    那么4核

    n := runtime.GOMAXPROCS(4)
    ...
    for true {
    go fmt.Print(1)
    go fmt.Print(2)
    go fmt.Print(3)
    fmt.Print(0)
    }
    ...

    虽然看不出来啥,

    233123230003212132200000311131231231200023312231310002011331313330002222212132000003123131231231200123112323001131230002
  • 相关阅读:
    CTF工具使用
    关于CTF的Misc
    stegsolve使用方法
    CTF练习平台
    关于命令执行漏洞深入学习
    redis未授权访问漏洞复现
    Vulnhub实战靶场:DC-2
    Vulnhub实战靶场:DC-1
    NISP一级真题、NISP一级题库
    封神台靶场:萌新也能找CMS突破
  • 原文地址:https://www.cnblogs.com/baylorqu/p/9672432.html
Copyright © 2011-2022 走看看