程序员请注意:异步编程模式已被人注册为专利

简介:

不论是服务器端编程还是客户端编程,编程中的同步和异步对程序员来说都应该不陌生,我们经常会用同步编程来解决顺序执行问题、用异步解决并行执行问题。然而,就是这样的常见的编程模式,有人却将其申请为专利。在谷歌专利查询网站上专利公开号为“US 20140282625 A1”的专利内容就是“Asynchronous programming model for concurrent workflow scenarios”,在这个专利的内容摘要描述有:

异步方式在编程中的执行过程是:先将包含有跟流程信息相关的全局变量和全局上下文指针存储到一个上下文结构体中。当异步函数被执行时,全局上下文指针被存储到本地变量中,当函数执行完,全局上下文指针可以从本地变量中恢复。

下面的流程图和组件图可看出这个专利中含盖的编程模式和架构。

screenshot

图1
screenshot
图2

专利是一把双刃剑,它能保护专利发明人的权利、鼓励更多人来发明创造,但也会因此限制其推广和普遍使用、浪费生产力。UNIX和BSD的专利之争就 是最恶劣的一个案例,Java和安卓之争也给业界带来了很多的麻烦。2004年4月,微软公司申请到一个专利,内容是计算机上,在一个特定时间内按下多次 按键来启动应用程序,即微软为双击鼠标启动程序申请了专利。幸好微软没有动用这项专利,否则的话后果实在太恐怖了。苹果公司也申请了很多让人哭笑不得的专 利,其中最奇葩的是“矩形圆角外观设计专利”。
screenshot
苹果此前获得的诸多关于iPhone和iPad的专利中或多或少都会包含一些实际的功能,譬如Home键、背部轮廓设计或者前面板整体玻璃覆盖设计 等。但此次获得的专利却单单专注于外观,苹果的意图很简单:圆角矩形就是苹果发明的!专利所保护的圆角矩形设计,是一个非常宽泛的概念,宽泛到图中这个边 框的横竖线条的比例都能成为它保护的对象,无论设备是7寸还是20寸。

正因为此专利过于宽泛,所以被应用的价值很小。苹果曾在法院上提出三星抄袭了自己圆角矩形的设计,当时就激起一片哗然的讨论。这项新专利在法律诉讼 中是很容易被判定为过于宽泛而不具实效的,如果苹果想以它作为武器的话,实在是弱爆了。也许苹果只是通过D670286S探索自己究竟都能拿到什么专利, 这个专利应该永远不会出现在法庭上成为攻击对手的证据。

专利可以用来维护原创者的权益,但是专利的尺度宽泛以及漏洞极有可能通过了一些不实用的专利而引起很多不必要的麻烦,甚至对行业的发展造成阻碍.

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
4月前
|
C++
C++ 语言异常处理实战:在编程潮流中坚守稳定,开启代码可靠之旅
【8月更文挑战第22天】C++的异常处理机制是确保程序稳定的关键特性。它允许程序在遇到错误时优雅地响应而非直接崩溃。通过`throw`抛出异常,并用`catch`捕获处理,可使程序控制流跳转至错误处理代码。例如,在进行除法运算或文件读取时,若发生除数为零或文件无法打开等错误,则可通过抛出异常并在调用处捕获来妥善处理这些情况。恰当使用异常处理能显著提升程序的健壮性和维护性。
76 2
|
4月前
|
消息中间件 监控 NoSQL
Celery 高效异步任务队列:打破常规,颠覆认知,应用实践全攻略在此!
【8月更文挑战第5天】Celery 是一款强大的异步任务队列框架,适用于后台执行耗时任务如邮件发送、报表生成等。可通过`pip install celery`安装,并配置消息代理(如Redis)以启动服务。定义异步任务使用装饰器`@app.task`,并通过`.delay()`方法执行。任务状态和结果可通过`.ready()`和`.get()`查询。异常处理支持任务重试,性能优化包括调整并发数和选用高效消息代理。Celery 能显著提升应用效率与用户体验。
198 0
|
人工智能 算法 大数据
听静渔说,开发者以国赛的方式进场了
开发者关系和培训中心负责人孟晋宇, 做客天津卫视节目,讲述了阿里云在数字化人才培养和技能人才方面为开发者提供的体系化解决方案:我们积累了非常多的数字化实践经验,沉淀了体系化的能力技术,从而转化为体系化的课程,按照升级打怪的模式,通过微认证——ACA——ACP——ACE这样的认证体系,帮助开发者,逐步完成整体技术的认知能力和岗位技能的提升。
27936 11
听静渔说,开发者以国赛的方式进场了
|
2月前
|
人工智能 关系型数据库 Serverless
1024,致开发者们——希望和你一起用技术人独有的方式,庆祝你的主场
阿里云开发者社区推出“1024·云上见”程序员节专题活动,包括云上实操、开发者测评和征文三个分会场,提供14个实操活动、3个解决方案、3 个产品方案的测评及征文比赛,旨在帮助开发者提升技能、分享经验,共筑技术梦想。
1395 159
|
3月前
|
存储 Java 开发者
【Java新纪元启航】JDK 22:解锁未命名变量与模式,让代码更简洁,思维更自由!
【9月更文挑战第7天】JDK 22带来的未命名变量与模式匹配的结合,是Java编程语言发展历程中的一个重要里程碑。它不仅简化了代码,提高了开发效率,更重要的是,它激发了我们对Java编程的新思考,让我们有机会以更加自由、更加创造性的方式解决问题。随着Java生态系统的不断演进,我们有理由相信,未来的Java将更加灵活、更加强大,为开发者们提供更加广阔的舞台。让我们携手并进,共同迎接Java新纪元的到来!
68 11
|
3月前
|
Java 数据库连接 数据库
Micronaut 响应式编程:乘科技热潮,解锁异步应用新境界,让你的软件快人一步!
【9月更文挑战第11天】在快速发展的软件开发领域,响应式编程凭借其处理异步事件和数据流的优势,逐渐成为构建高效应用的关键技术。Micronaut 作为现代化的 Java 微服务框架,提供了强大的工具和支持,如 Reactive Streams 和 RxJava,帮助开发者轻松构建高性能的异步应用。通过非阻塞的方式处理请求,Micronaut 能充分利用系统资源,提高应用的吞吐量和响应速度。此外,Micronaut 的反应式 Web 客户端和数据库访问模块进一步增强了其在高并发场景下的表现,为现代异步应用的开发提供了坚实的基础。
36 5
|
3月前
|
API 调度 Android开发
告别回调地狱,拥抱流畅开发体验:Kotlin协程带你解锁异步编程新姿势,让App响应速度飙升!
【9月更文挑战第11天】随着移动互联网的发展,用户对应用体验的要求不断提高,异步编程因此变得尤为重要。Kotlin凭借简洁的语法和强大的功能,在Android开发中脱颖而出。协程作为Kotlin的核心特性之一,简化了异步代码编写,提高了程序性能与可维护性。
72 5
|
4月前
|
调度 Android开发 开发者
【颠覆传统!】Kotlin协程魔法:解锁Android应用极速体验,带你领略多线程优化的无限魅力!
【8月更文挑战第12天】多线程对现代Android应用至关重要,能显著提升性能与体验。本文探讨Kotlin中的高效多线程实践。首先,理解主线程(UI线程)的角色,避免阻塞它。Kotlin协程作为轻量级线程,简化异步编程。示例展示了如何使用`kotlinx.coroutines`库创建协程,执行后台任务而不影响UI。此外,通过协程与Retrofit结合,实现了网络数据的异步加载,并安全地更新UI。协程不仅提高代码可读性,还能确保程序高效运行,不阻塞主线程,是构建高性能Android应用的关键。
63 4
|
7月前
|
NoSQL Java 程序员
阿里开发人员献礼“Java架构成长笔记”,深入内核,拒绝蒙圈
提起阿里,行外人联想到的关键词无非是“交易”、“淘宝”、“支付宝”,但对于程序员来说,阿里庞大的技术体系才是最吸引人的。实际上阿里作为国内一线互联网公司的头把交椅,内部的技术体系和发展都是备受关注的,对于程序员来说,能够进到阿里工作,就是对自己的技术水平进行一个提升和学习。
阿里开发人员献礼“Java架构成长笔记”,深入内核,拒绝蒙圈
|
设计模式 缓存 负载均衡
你kin你擦!阿里终于肯把内部高并发编程高阶笔记开源出来了
“高并发”三字是近几年开发圈子里热议的一个话题,可能程序员之间闲下来就会讨论所谓的“高并发经验”。值得注意的是即使你和高并发天天打交道,也不一定能获得高并发的经验,高并发只是一个结果,并不是过程。想要玩转高并发,基础最重要,大并发面前,靠得住的只有人,是人来根据具体的应用场景去解决具体的问题。
你kin你擦!阿里终于肯把内部高并发编程高阶笔记开源出来了