线程
yandajiangjun
这个作者很懒,什么都没留下…
展开
-
进程、线程、协程对比与区别
进程、线程、协程对比请仔细理解如下的通俗描述有一个老板想要开个工厂进行生产某件商品(例如剪子)他需要花一些财力物力制作一条生产线,这个生产线上有很多的器件以及材料这些所有的 为了能够生产剪子而准备的资源称之为:进程只有生产线是不能够进行生产的,所以老板的找个工人来进行生产,这个工人能够利用这些材料最终一步步的将剪子做出来,这个来做事情的工人称之为:线程这个老板为了提高生产率,想到3种办法...原创 2019-11-27 22:52:28 · 242 阅读 · 0 评论 -
线程与进程的区别
1.了解进程,线程程序:例如xxx.py这是程序,是一个静态的进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源和调度的基本单元。(用自己的话说,单进程就是一个程序本身,多进程就是多个程序)线程:是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存...原创 2019-11-07 22:52:39 · 142 阅读 · 0 评论 -
UDP做一个多任务的聊天器
UDP做一个多任务的聊天器(与网络调试助手配合)实现既可以发送数据,也可以接收数据 1 from socket import * 2 import threading 3 4 def sd(udp_socket): 5 while True: 6 ...原创 2019-11-05 16:52:38 · 132 阅读 · 0 评论 -
线程死锁和银行家算法
1.死锁:在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁。2. 避免死锁程序设计时要尽量避免(银行家算法)添加超时时间等3.银行家算法[背景知识]一个银行家如何将一定数目的资金安全地借给若干个客户,使这些客户既能借到钱完成要干的事,同时银行家又能收回全部资金而不至于破产,这就是银行家问题。这个问题同操作系统中资源分配问题十分相似:银行家就...原创 2019-11-05 15:42:58 · 219 阅读 · 0 评论 -
线程同步导致的互斥,以及互斥锁解决资源竞争
很多时候我们需要线程同步,但线程同步也会引发一些问题。1.如果处理量小的话,还不会出现问题 1 import threading 2 import time 3 4 num=0 5 def test1(temp): 6 for i in range(temp): 7 global num 8 num+=1 9 ...原创 2019-11-05 15:20:18 · 176 阅读 · 0 评论 -
多线程共享全局变量
1.子线程,主线程共享全局变量 1 import threading 2 import time 3 4 num=100 5 6 def test1(): 7 global num 8 num+=100 9 print("-----test1----num:...原创 2019-11-04 20:55:00 · 392 阅读 · 0 评论 -
线程
0.前期准备知识:单核cpu:单核cpu一次只能处理一个任务(程序/进程),但我们现实中感觉的是,单核cpu能同时处理多个任务,因为单核cpu采用了时间轮片的方法,比如qq,微信,支付宝三个任务,系统会给每个任务分配指定的时间处理他们的工作,比如分配qq的时间片是0.000001s,不要小看0.00001s,cpu1秒可以处理数百万个数据,0.000001s也是可以处理很多数据的,同理微信,支付...原创 2019-11-03 22:13:01 · 807 阅读 · 0 评论