Golang与python线程详解及简单实例

在GO中,开启15个线程,每个线程把全局变量遍历增加100000次,因此预测结果是 15*100000=1500000.
var sum int
var cccc int
var m *sync.Mutex
func Count1(i int, ch chan int) {
for j := 0; j < 100000; j++ {
cccc = cccc + 1
}
ch <- cccc
}
func main() {
m = new(sync.Mutex)
ch := make(chan int, 15)
for i := 0; i < 15; i++ {
go Count1(i, ch)
}
for i := 0; i < 15; i++ {
select {
case msg := <-ch:
fmt.Println(msg)
}
}
}
但是最终的结果,406527
说明需要加锁。
func Count1(i int, ch chan int) {
m.Lock()
for j := 0; j < 100000; j++ {
cccc = cccc + 1
}
ch <- cccc
m.Unlock()
}
最终输出:1500000
python中:同样方式实现,也不行。
count = 0
def sumCount(temp):
global count
for i in range(temp):
count = count + 1
li = []
for i in range(15):
th = threading.Thread(target=sumCount, args=(1000000,))
th.start()
li.append(th)
for i in li:
i.join()
print(count)
输出结果:3004737
说明也需要加锁:
mutex = threading.Lock()
count = 0
def sumCount(temp):
global count
mutex.acquire()
for i in range(temp):
count = count + 1
mutex.release()
li = []
for i in range(15):
th = threading.Thread(target=sumCount, args=(1000000,))
th.start()
li.append(th)
for i in li:
i.join()
print(count)
输出1500000
OK,加锁的小列子。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Golang与python线程详解
# python线程
# Golang多线程刷票的实现代码
# golang线程安全的map实现
# 浅谈golang for 循环中使用协程的问题
# golang实现多协程下载文件(支持断点续传)
# 文字解说Golang Goroutine和线程的区别
# Golang协程池gopool设计与实现
# golang协程设计及调度原理
# golang协程与线程区别简要介绍
# 加锁
# 列子
# 遍历
# 希望能
# 谢谢大家
# 全局变量
# 结果是
# func
# cccc
# sync
# Mutex
# ch
# lt
# main
# select
# chan
# case
# int
# strong
# Golang
相关文章:
盘锦网站制作公司,盘锦大洼有多少5G网站?
如何快速使用云服务器搭建个人网站?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
高性价比服务器租赁——企业级配置与24小时运维服务
如何确保FTP站点访问权限与数据传输安全?
,在苏州找工作,上哪个网站比较好?
如何高效完成独享虚拟主机建站?
定制建站哪家更专业可靠?推荐榜单揭晓
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
网站制作难吗安全吗,做一个网站需要多久时间?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
北京专业网站制作设计师招聘,北京白云观官方网站?
如何快速辨别茅台真假?关键步骤解析
如何将凡科建站内容保存为本地文件?
如何使用Golang table-driven基准测试_多组数据测量函数效率
如何在建站主机中优化服务器配置?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
全景视频制作网站有哪些,全景图怎么做成网页?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
如何通过商城免费建站系统源码自定义网站主题?
公司门户网站制作流程,华为官网怎么做?
如何彻底删除建站之星生成的Banner?
C#如何使用XPathNavigator高效查询XML
如何在腾讯云服务器快速搭建个人网站?
ppt制作免费网站有哪些,ppt模板免费下载网站?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
建站之星如何开启自定义404页面避免用户流失?
如何做网站制作流程,*游戏网站怎么搭建?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
建站主机选购指南:核心配置优化与品牌推荐方案
如何在搬瓦工VPS快速搭建网站?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
如何选择高性价比服务器搭建个人网站?
建站之星安装路径如何正确选择及配置?
网页设计与网站制作内容,怎样注册网站?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
定制建站如何定义?其核心优势是什么?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
如何在企业微信快速生成手机电脑官网?
建站主机选购指南:核心配置与性价比推荐解析
公众号网站制作网页,微信公众号怎么制作?
Android自定义listview布局实现上拉加载下拉刷新功能
如何在新浪SAE免费搭建个人博客?
教学论文网站制作软件有哪些,写论文用什么软件
?
如何制作一个表白网站视频,关于勇敢表白的小标题?
股票网站制作软件,网上股票怎么开户?
如何在景安云服务器上绑定域名并配置虚拟主机?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
javascript中对象的定义、使用以及对象和原型链操作小结
红河网站制作公司,红河事业单位身份证如何上传?
*请认真填写需求信息,我们会在24小时内与您取得联系。