Wesley13 Wesley13
3年前
java多线程面试题_线程并发面试题
1、什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。2、线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不
Stella981 Stella981
3年前
Kafka与传统消息队列的区别?
 1.首先kafka会将接收到的消息分区(partition),每个主题(topic)的消息有不同的分区,这样一方面消息的存储就不会受到单一服务器存储空间大小的限制,另一方面消息的处理也可以在多个服务器上并行。 2.其次为了保证高可用,每个分区都会有一定数量的副本(replica)。这样如果有部分服务器不可用,副本所在的服务器就会接替上来,保证应用的
Stella981 Stella981
3年前
PHP用curl_multi并行获取多个HTTP接口数据
接口1:phpS127.0.0.1:8080t/home/eechen/www接口2:phpS127.0.0.2:8080t/home/eechen/www/home/eechen/www/index.php:<?phpheader('ContentType:application/json;
Wesley13 Wesley13
3年前
Java 多线程(一)—— 概念的引入
并发和并行并行:指两个或多个时间在同一时刻发生(同时发生);并发:指两个或多个事件在一个时间段内发生。  在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单CPU系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替
Easter79 Easter79
3年前
Tomcat 应用中并行流带来的类加载问题
本文首发于vivo互联网技术微信公众号 链接:https://mp.weixin.qq.com/s/fX3n9cvDyU5f5NYH6mhxQ(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.qq.com%2Fs%2FfX3n9cvDyU5f5N
Stella981 Stella981
3年前
JVM 调优参数解释
典型配置:javaXmx3800mXms3800mXmn2gXss128kXX:UseParallelGCXX:ParallelGCThreads20XX:UseParallelGC:选择垃圾收集器为并行收集器。此配置仅对年轻代有效。
Stella981 Stella981
3年前
Spark学习之路 (十七)Spark分区
一、分区的概念  分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD(准确来说是作业最后一个RDD)的分区数决定。二、为什么要进行分区  数据分区,在分布式
Stella981 Stella981
3年前
Python并发(二)
并发是指一次处理多件事,而并行是指一次做多件事。二者不同,但互相有联系。打个比方:像Python的多线程,就是并发,因为Python的解释器GIL是线程不安全的,一次只允许执行一个线程的Python字节码,我们在使用多线程时,看上去像很多个任务同时进行,但实际上但一个线程在执行的时候,其他线程是处于休眠状态的。而在多CPU的服务器上,Java或Go的多线程,
Wesley13 Wesley13
3年前
PGET,一个简单、易用的并行调用框架
使用场景当我们的服务收到一个请求后,需要大量调用下游服务获取业务数据,然后对数据进行转换、计算后,响应给请求方。如果我们采用串行获取下游数据,势必会增加响应时长,降低接口的qps。如果是并行获取下游数据,则是不错的。最直接想到的并行获取方法,无非是将一个个获取数据的方法封装成一个个task,然后放到线程池里执行。但这种没经过设计的使用方
Stella981 Stella981
3年前
JVM中锁优化简介
本文将简单介绍HotSpot虚拟机中用到的锁优化技术。自旋锁互斥同步对性能最大的影响是阻塞的实现,挂起线程和恢复线程的操作都需要转入内核态中完成,这些操作给系统的并发性能带来了很大的压力。而在很多应用上,共享数据的锁定状态只会持续很短的一段时间。若实体机上有多个处理器,能让两个以上的线程同时并行执行,我们就可以让后面请求锁的那个线程原地自旋(