获得徽章 0
- 我们可以使用并行的策略,同时处理不同客户端发来的请求。
总体来说,根据系统机制的层级和实现方式,有下面三大类方法:
基于进程
内核自动管理多个逻辑流
每个进程有其私有的地址空间(也就是说进程切换的时候需要保存和载入数据)
基于事件
由程序员手动控制多个逻辑流
所有的逻辑流共享同一个地址空间
这个技术称为 I/O multiplexing
基于线程
内核自动管理多个逻辑流
每个线程共享地址空间
属于基于进程和基于事件的混合体展开评论点赞 - 其实我们如果查看FutureTask的源码就会发现cancel只不过是调用了Thread的interrupt方法,而interrupt只能是停掉线程中有sleep,wait,join逻辑的线程,抛出一个InterruptException。这样看来FutureTask的cancel方法并不能停掉一切正在执行的异步任务。但是这里我们有一个妥协的做法就是在判断条件中加!Thread.currentThread().isInterrupted()这个判断即可展开评论点赞
- 在我看来,在三到五年之后,Kubernetes 会成为服务器端的标准环境,就像现在的 Linux,而 Service Mesh 就是运行在 Kubernetes 上的分布式应用的动态链接器,届时开发一个分布式应用将会像开发单机程序一样简单,业界在分布式操作系统上长达三十多年的努力将以这种方式告一段落。评论点赞
- Java内存泄露根本原因是什么呢?长生命周期的对象持有短生命周期对象的引用就很
可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的
引用而导致不能被回收,这就是java中内存泄露的发生场景。具体主要有如下几大类。评论点赞