随笔分类 -  多线程

摘要:编程语言里面的任务和线程是很重要的一个功能。在python里面,线程的创建有两种方式,其一使用Thread类创建 # 导入Python标准库中的Thread模块 from threading import Thread # 创建一个线程 mthread = threading.Thread(targ 阅读全文
posted @ 2020-10-15 10:31 anna1210 阅读(180) 评论(0) 推荐(0) 编辑
摘要:既然要谈区别,那么首先需要理解什么是进程和线程。 之前,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工 阅读全文
posted @ 2020-09-04 10:38 anna1210 阅读(560) 评论(0) 推荐(0) 编辑
摘要:1. 队列先进先出 2. 栈先进后出 Python的Queue模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue。这些队列都实现了锁原语(可以理解为原子操作,即要么不做,要么就做完),能够在 阅读全文
posted @ 2020-07-24 08:55 anna1210 阅读(466) 评论(0) 推荐(0) 编辑
摘要:思路: 需要定义一个全局变量,供生产者和消费者使用 1、对于生产者来说:x>0 wait(print) ,否则x+1(使用for循环) 2、对于消费者来说:x==0 wait(print),否则x-1(使用for循环) 3、生产者和消费者分别是一个class 1 __author__ = 'anna 阅读全文
posted @ 2020-07-21 20:01 anna1210 阅读(194) 评论(0) 推荐(0) 编辑
摘要:1 ''' 2 线程同步 锁 3 不同线程操作某一个对象时,容易出现数据不完整或者不一致! 4 解决方案:加锁。在线程需要独占资源的时候,获取锁; 5 线程不需要独占资源的时候,释放锁,别的线程可以获取锁; 6 7 锁的目的:确保多个线程不会同时操作同一个资源,确保数据完整性和一致性; 8 同时,又 阅读全文
posted @ 2020-07-21 19:11 anna1210 阅读(323) 评论(0) 推荐(0) 编辑
摘要:1 ''' 2 创建线程,也可以动态确定线程数 3 ''' 4 # encoding: utf-8 5 6 7 import threading 8 import time 9 import random 10 11 12 def print_time(thread_name, step): 13 阅读全文
posted @ 2020-07-21 19:10 anna1210 阅读(1305) 评论(0) 推荐(0) 编辑
摘要:1 ''' 2 线程中可以循环,可以调用函数,可以做复杂的事情 3 ''' 4 # encoding: utf-8 5 6 import threading 7 import time 8 9 10 def print_time(thread_name, step): 11 # python的tim 阅读全文
posted @ 2020-07-21 19:08 anna1210 阅读(2939) 评论(0) 推荐(0) 编辑
摘要:1 ''' 2 问题:需要传参怎么办? 3 例如,希望给每个线程打印的时候休眠时间不一样,打印次数不一样 4 例如,给每个线程指定一个名称,或者id 5 1、重写构造方法,把传入的参数作为成员变量 6 2、别忘了调用父类的构造方法 7 ''' 8 9 # encoding: utf-8 10 11 阅读全文
posted @ 2020-07-21 19:05 anna1210 阅读(6905) 评论(0) 推荐(0) 编辑
摘要:1 import threading 2 import time 3 4 5 class myThread(threading.Thread): 6 # 可选的类方法,初始化的方法 7 def __init__(self, name): 8 threading.Thread.__init__(sel 阅读全文
posted @ 2020-07-21 10:06 anna1210 阅读(188) 评论(0) 推荐(0) 编辑
摘要:1 __author__ = 'anna' 2 # encoding:utf-8 3 4 5 import threading 6 import time 7 8 9 def music(): 10 time.sleep(5) 11 print('打印方法音乐!') 12 13 14 def boo 阅读全文
posted @ 2020-07-21 10:02 anna1210 阅读(86) 评论(0) 推荐(0) 编辑
摘要:我们直接看代码: 代码如下: 1 # encoding: utf-8 2 3 import threading 4 import time 5 ''' 6 进程: 启动的应用程序 7 线程:程序中实际做事情的单元 8 9 主线程和子线程 10 进程启动之后会自动启动一个主线程,主线程启动若干子线程, 阅读全文
posted @ 2020-05-20 18:00 anna1210 阅读(357) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示