多线程_基础篇
基础篇1231. Java多线程系列目录(共43篇)-转 https://www.jianshu.com/p/dca27f047923https://www.cnblogs.com/skywang12345/p/java_threads_category.html
线程共包括以下5种状态:
新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。
就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可能被CPU调度执行。
运行状态(Running): 线程获取CPU权限进行执行。需要注意的是,线程只能从就绪状态进入到运行状态。
阻塞状态(Blocked) : 阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。阻塞的情况分三种:(01) 等待阻塞 — 通过调用线程的wait()方法,让线程等待某工作的完成。(02) 同步阻塞 ...
python协程
python迭代对象
Coroutines Are Faster To Start Than Threads in Python
扫描内存中放不下的数据集时,我们要找到一种惰性获取数据项的方式,即按需一次获取一个数据项
这就是迭代器模式(Iterator pattern),迭代是数据处理的基石
Python 2.2(2001 年)加入了 yield 关键字,这个关键字用于构建生成器(generator),其作用与迭代器一样
所有生成器都是迭代器,因为生成器完全实现了迭代器接口
迭代器用于从集合中取出元素;而生成器用于”凭空”生成元素
Python 社区中,大多数时候都把迭代器和生成器视作同一概念
内置的 range() 函数也返回一个类似生成器的对象,而以前则返回完整的列表
如果一定要让 range() 函数返回列表,那么必须明确指明(例如,list(range(100)))
序列可以迭代的原因:iter函数
解释器需要迭代对象 x 时,会自动调用 iter(x)
内置的 iter 函数有以下作用
检查对象是否实现了 __iter__ 方法,如果实现了就调用它,获 ...
多线程_JUC锁集合
JUC锁集合同步锁: 即通过synchronized关键字来进行同步,实现对竞争资源的互斥访问的锁。Java 1.0版本中就已经支持同步锁了。对于每一个对象,有且仅有一个同步锁;不同的线程能共同访问该同步锁。但是,在同一个时间点,该同步锁能且只能被一个线程获取到。这样,获取到同步锁的线程就能进行CPU调度,从而在CPU上执行;而没有获取到同步锁的线程,必须进行等待,直到获取到同步锁之后才能继续运行。这就是,多线程通过同步锁进行同步的原理!
JUC包中的锁 : 相比同步锁,JUC包中的锁的功能更加强大,它为锁提供了一个框架,该框架允许更灵活地使用锁,只是它的用法更难罢了。
JUC包中的锁,包括:Lock接口,ReadWriteLock接口,LockSupport阻塞原语,Condition条件,AbstractOwnableSynchronizer/AbstractQueuedSynchronizer/AbstractQueuedLongSynchronizer三个抽象类,ReentrantLock独占锁,ReentrantReadWriteLock读写锁。由于CountDown ...
python异步编程
基础概念
python3 asyncio官方文档中文版
asyncio —- 异步 I/O
2小时学会python asyncio【花39大洋买的课程】
Python进程、线程和协程实战指归
异步编程基本概念
python—-异步IO(asyncio)协程
Python黑魔法 —- 异步IO(asyncio)协程
python协程系列(六)——asyncio的EventLoop以及Future详解
python协程系列(七)——asyncio结合多线程解决阻塞问题以及timer模拟
asyncio —— 异步I/O、事件循环、协程和任务
python协程与异步协程
[进阶]-Python3 异步编程详解(史上最全篇)
python多线程、多进程、协程的使用
Python异步IO之协程(一): 从yield from到async的使用
python异步编程模块asyncio学习(一)
python异步编程模块asyncio学习(二)
Python中协程异步IO(asyncio)详解
理解 Python 中的异步编程
Python异步编程模块asyncio学习 !此模块非常之重要!
带你 ...




