首页 > 编程语言 >网络编程和并发编程

网络编程和并发编程

时间:2023-01-05 15:24:26浏览次数:41  
标签:tmp Thread 编程 list 网络 并发 IO import 100

`from threading import Thread
import time

n = 100

def task():
global n
tmp = n
time.sleep(1) # 进入IO,GIL锁会释放,则n为99,当没有IO则n为0
n = tmp -1

t_list = []
for i in range(100):
t = Thread(target=task)
t.start()
t_list.append(t)
for t in t_list:
t.join()

print(n)`

点击查看代码
from threading import Thread
import time

n = 100

def task():
    global n
    tmp = n
    time.sleep(1)  # 进入IO,GIL锁会释放,则n为99,当没有IO则n为0
    n = tmp -1

t_list = []
for i in range(100):
    t = Thread(target=task)
    t.start()
    t_list.append(t)
for t in t_list:
    t.join()

print(n)

标签:tmp,Thread,编程,list,网络,并发,IO,import,100
From: https://www.cnblogs.com/jlllog/p/17027656.html

相关文章

  • 2_Linux中的网络配置
    服务器Linuxcentosip地址虚拟机中的网络配置1、桥接模式使用当前计算机中本地连接中的物理网卡虚拟机中自动获取的ip网段都在主机192.168......
  • QtXlsx加入-内容来源网络,方便自己查阅
    打开QXlsx源码-用qtCreat打开pro文件  注意,需要区分32位和64位    ......
  • android基础02 - 多媒体、多线程与异步任务、Service、网络
    多媒体通知通知渠道:程序对自己发出的通知进行分类,用户可根据渠道对消息进行屏蔽或设置响铃振动。一个应用的通知渠道一旦创建就无法再修改,只能再创建新的可在Activity、......
  • 狂神说Go语言—Go泛型编程
    什么是泛型Go并不是一种静止、一成不变的编程语言。新的功能是在经过大量的讨论和试验后慢慢采用的最初的Go1.0发布以来,Go语言习惯的模式已经发生了重大变化1.7的conte......
  • linux —— shell 编程(文本处理)
    1、基本文本处理sort :用于排序,常用参数-t指定一行的分隔符-k指定具体排序的规则-d按字典序排列 -f忽略大小写 -u(unique)丢弃相同指定字段的记录unique......
  • 3D编程的4个境界
     很久没来这了,也一直想写点东西,可惜没时间写。昨天突然想到点东西,想写下来。说说3D编程的4个境界吧,由于我个人水平和见识有限,以及时间比较仓促,说的不对不好,还请谅解和指正......
  • 并发编程的场景中的三个bug源头:可见性、原子性、有序性
    1.可见性:多核系统每个cpu自带高速缓存,彼此间不交换信息case:两个线程对同一份实例变量count累加,结果可能不等于累加之和,因为线程将内存值载入各自的缓存中,之后的累加操作基......
  • 第九章 神经网络
    目录(1)案例:使用神经网络实现逻辑运算(2)多元分类(3)代价函数(4)前向传播(5)反向传播(6)随机初始化(7)梯度检测大多数的机器学习所涉及到的特征非常多,对于非线性分......
  • 极客编程python入门-内建模块datetime
    datetimedatetime是Python处理日期和时间的标准库。获取当前日期和时间>>>fromdatetimeimportdatetime>>>now=datetime.now()#获取当前datetime>>>print(now)2015......
  • 《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第三章 Linux C编程入门​
    LinuxC编程入门​在Windows下我们可以使用各种各样的IDE进行编程,比如强大的VisualStudio。但是在Ubuntu下如何进行编程呢?Ubuntu下也有一些可以进行编程的工具,但是大多都只......