2024年Java进阶者的新篇章,2024Java通用流行框架大全

并发模型和分布式系统很相似

并发模型其实和分布式系统模型非常相似,在并发模型中是线程彼此进行通信,而在分布式系统模型中是 进程 彼此进行通信。然而本质上,进程和线程也非常相似。这也就是为什么并发模型和分布式模型非常相似的原因。

分布式系统通常要比并发系统面临更多的挑战和问题比如进程通信、网络可能出现异常,或者远程机器挂掉等等。但是一个并发模型同样面临着比如 CPU 故障、网卡出现问题、硬盘出现问题等。

因为并发模型和分布式模型很相似,因此他们可以相互借鉴,例如用于线程分配的模型就类似于分布式系统环境中的负载均衡模型。

其实说白了,分布式模型的思想就是借鉴并发模型的基础上推演发展来的。

认识两个状态

并发模型的一个重要的方面是,线程是否应该共享状态,是具有共享状态还是独立状态。共享状态也就意味着在不同线程之间共享某些状态

状态其实就是数据,比如一个或者多个对象。当线程要共享数据时,就会造成 竞态条件 或者 死锁 等问题。当然,这些问题只是可能会出现,具体实现方式取决于你是否安全的使用和访问共享对象。

独立的状态表明状态不会在多个线程之间共享,如果线程之间需要通信的话,他们可以访问不可变的对象来实现,这是一种最有效的避免并发问题的一种方式,如下图所示

使用独立状态让我们的设计更加简单,因为只有一个线程能够访问对象,即使交换对象,也是不可变的对象。

并发模型

并行 Worker

第一个并发模型是并行 worker 模型,客户端会把任务交给 代理人(Delegator),然后由代理人把工作分配给不同的 工人(worker)。如下图所示

并行 worker 的核心思想是,它主要有两个进程即代理人和工人,Delegator 负责接收来自客户端的任务并把任务下发,交给具体的 Worker 进行处理,Worker 处理完成后把结果返回给 Delegator,在 Delegator 接收到 Worker 处理的结果后对其进行汇总,然后交给客户端。

并行 Worker 模型是 Java 并发模型中非常常见的一种模型。许多 java.util.concurrent 包下的并发工具都使用了这种模型。

并行 Worker 的优点

并行 Worker 模型的一个非常明显的特点就是很容易理解,为了提高系统的并行度你可以增加多个 Worker 完成任务。

并行 Worker 模型的另外一个好处就是,它会将一个任务拆分成多个小任务,并发执行,Delegator 在接受到 Worker 的处理结果后就会返回给 Client,整个 Worker -> Delegator -> Client 的过程是异步

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2024Java就业形势预计会继续保持稳定和有利。Java作为一种广泛应用于企业级应用开发的编程语言,具有广泛的应用领域和稳定的市场需求。以下是一些关于2024Java就业形势的预测和趋势: 1. 高需求:Java开发人员的需求将继续保持高水平。许多大型企业和组织仍然依赖于Java来构建和维护他们的核心业务系统。此外,随着云计算、大数据和人工智能等技术的发展,对Java开发人员的需求也在不断增加。 2. 全栈开发:全栈开发人员在市场上的需求也在增加。全栈开发人员需要掌握多种技术和框架,包括前端开发、后端开发和数据库管理等。对于具备Java全栈开发技能的人才,将有更多的就业机会。 3. 新技术框架:随着时间的推移,Java生态系统不断发展和演变。新的技术和框架如Spring Boot、Spring Cloud、JavaFX等的出现,为Java开发人员提供了更多的选择和机会。掌握这些新技术框架的人才将更受市场欢迎。 4. 行业特定知识:Java开发人员在特定行业领域的知识和经验也将成为就业的竞争优势。例如,金融、医疗、电子商务等行业对Java开发人员的需求较高,对相关行业的了解和经验将有助于找到更好的就业机会。 5. 持续学习和自我提升:随着技术的不断发展,持续学习和自我提升对于Java开发人员来说至关重要。不断更新自己的技能和知识,跟上行业的最新趋势和需求,将有助于保持竞争力并获得更好的就业机会。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值