惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
博客园_首页
aimingoo的专栏
aimingoo的专栏
IT之家
IT之家
美团技术团队
GbyAI
GbyAI
博客园 - 司徒正美
Recent Commits to openclaw:main
Recent Commits to openclaw:main
www.infosecurity-magazine.com
www.infosecurity-magazine.com
S
Security @ Cisco Blogs
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Jina AI
Jina AI
The Cloudflare Blog
O
OpenAI News
雷峰网
雷峰网
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Fortinet All Blogs
量子位
C
CERT Recently Published Vulnerability Notes
V
V2EX
J
Java Code Geeks
H
Help Net Security
小众软件
小众软件
H
Hacker News: Front Page
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tor Project blog
Y
Y Combinator Blog
Spread Privacy
Spread Privacy
Martin Fowler
Martin Fowler
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Scott Helme
Scott Helme
N
News | PayPal Newsroom
Vercel News
Vercel News
爱范儿
爱范儿
TaoSecurity Blog
TaoSecurity Blog
Webroot Blog
Webroot Blog
博客园 - 叶小钗
T
Threat Research - Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
G
GRAHAM CLULEY
MyScale Blog
MyScale Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
L
Lohrmann on Cybersecurity
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
S
Schneier on Security

博客园 - 远洪

大模型常用术语 windows 使用sshAgent 加载秘钥 再次认识java反射 再次认识java注解 再次认识java泛型 java中类的分类 java类中的成员变量,静态变量与局部变量 再谈java枚举enum 使用CCProxy让手机访问电脑能访问的网址 playwright启动后报错net::ERR_CERT_COMMON_NAME_INVALID 解决方法 debian 或ubuntu安装使用tigervnc python 实例属性、类属性、实例方法、类方法、静态方法 python面向对象封装,私有变量 docker compose使用 docker 自定义网络 Dockerfile 使用 go语言多态中的类型断言 java中的多态与golang中的多态 golang 定义接口
golang进程(主线程)与协程
远洪 · 2024-01-12 · via 博客园 - 远洪

概念

主线程:golang 中的主线程(在go中主线程就是进程,相比与其他编程语言叫法不一样)

协程:golang中协程是轻量级的线程(相比于其他语言,只有进程和线程);python中有进程和线程的概念,也有协程的概念;python中的协程通过async 来实现

并发与并行的概念

并发:在一个cpu上有10个线程,每个线程10毫秒(进行轮番操作),从人的角度看,好像这10个线程都在运行,单重微观来看,在某一个时间点只有一个线程在执行,这就是并发。

并行:在多个cpu上(例如10个cpu)有10个线程在执行,每个线程执行10毫秒(各自在不同的cpu上执行),从人的角度上来看,这10个线程都在执行,从微观角度来看,这10个显示也是都在执行,这就是并行。

go语言协程简单实现

package main

import (
    "fmt"
    "strconv"
    "time"
)

func GoPrintTest(){
    for i := 0;i < 3;i++ {
        fmt.Println("协程执行:" + strconv.Itoa(i))
        time.Sleep(1 * time.Second)
    }
}

func main(){
    // 通过 go 关键字启动一个协程
    go GoPrintTest()

    for i := 0;i < 3;i++ {
        fmt.Println("主线程执行:" + strconv.Itoa(i))
        time.Sleep(1 * time.Second)
    }
}