多线程_基础篇
基础篇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) 同步阻塞 ...
设计模式
设计模式的概念设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结
使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性
设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样
设计模式的组成和分类
根据其目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种:
• 创建型模式主要用于创建对象• 结构型模式主要用于处理类或对象的组合• 行为型模式主要用于描述对类或对象怎样交互和怎样分配职责
根据范围(模式主要是用于处理类之间关系还是处理对象之间的关系)可分为类模式和对象模式两种:
• 类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态 ...
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学习 !此模块非常之重要!
带你 ...