随笔分类 - 并发编程
摘要:对象分为主动对象和被动对象,主动对象内部包含一个线程,可以自动完成动作或改变状态,而一般的被动对象只能通过被其他对象调用才有所作为。在多线程程序中,经常把一个线程封装到主动对象里面。 Active Object 设计模式的本质是解耦合方法的调用 (Method invocation) 与方法的执行
阅读全文
摘要:任务、资源、依赖、一致性、管理 In computer science, concurrency refers to the ability of different parts or units of a program, algorithm, or problem to be executed
阅读全文
摘要:并发与异步模型的不同:通信模型与复用模型 并发:资源复用(cpu+其它)模型; 异步:通信模型(通信上下文)。 复用模型的模型是集合模型。 并发管理只是复用规则的具体体现而已。
阅读全文
摘要:并发编程的方法论:结构与秩序。 结构即并发模式; 秩序即并发控制; 并发编程的核心问题是由并行随机性导致的复杂性。
阅读全文
摘要:并发编程的整体目标和需求决定了并发编程的模型; 业务决定架构; 并发的结构(架构)是并发编程的组织形式,体现了并发功能的整体目标; 目标、结构、策略、工具
阅读全文
摘要:并发编程领域可以抽象成三个核心问题:分工、同步和互斥。 https://blog.csdn.net/cpongo3/article/details/89026244 是整体、部分与资源的问题; 把并发编程抽象一层,你会发现当你写一个并发程序的时候,干的就是三件事: 分工:考虑的事把一个任务拆解成多少
阅读全文
摘要:In computer science, concurrency refers to the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or
阅读全文
摘要:在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。 乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。 无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种
阅读全文
摘要:volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在D
阅读全文
摘要:锁机制 SQLite基于锁来实现并发控制。SQLite的锁是粗粒度的,并不拥有PostgreSQL那样细粒度的行锁,这也使得SQLite较为轻量级。当一个连接要写数据库时,所有其它的连接都被锁住,直到写连接结束它的事务。 SQLite的数据库连接有5种状态: SQL使用锁逐步提升机制,上面的表格从上
阅读全文
摘要:线程锁的本质:线程控制、线程状态控制 while if https://www.cnblogs.com/feng9exe/p/8319000.html https://www.cnblogs.com/feng9exe/p/8799312.html https://www.cnblogs.com/fe
阅读全文