,
我们先了解下这两个的意思和关系
什么是多线程?
多线程是指从软件或者硬件上实现多个线程并发执行的技术,它更多的是解决CPU调度多个进程的问题,从而让这些进程看上去是同时执行(实际是交替运行的)。
多线程解决的问题是明确的,也是比较单一的,基本上遇到的最大问题就是线程安全。在JAVA语言中,需要对JVM内存模型、指令重排等深入了解,才能写出一份高质量的多线程代码。
什么是算法?
简单地讲,算法是指一切经过明确定义的计算过程,其将某个或者某组值作为输入内容,并产生某个或者某组值作为输出结果。因此,算法代表的是一系列计算步骤,用于将输入转换为输出。
算法有几个特点:有明确指令,切实有效,有限的
几个知名的算法有:
傅利叶变换与快速傅利叶变换
迪杰斯特拉算法
RSA 算法
比例微积分算法
随机数生成算法
太多了就不一一举例了
这两个哪个快这个确实没有可比性,抛开场景及实现的情况,这样说确实是不恰当的,
有兴趣交流的朋友可以关注我,互动,谢谢
这是两个完全不同的概念,没法比的,楼主可以先研究一下计算复杂度的概念。
您的问题相当于问:火车和书柜哪个更适合油炸?根本就不是一个概念的东西,没有可比性
算法和多线程?我第一感觉是不可比,就如2斤和2分钟一样。但细想,又不是这种关系,多线程比单线程在多核时能更好地利用硬件资源,使效率大为提高。再想,多线程也应属于一种算法吧?另外还得用算法去控制多线程的协调工作,不知这么理解是否对?最后,我想说的是不管是多线程还是单线程,算法都很重要,好的算法可大大提高效率,只是现在硬件好了,很多人不太重视而已,但编程必须注重算法,否则在处理大量数据时可能就无法完成了。
为了提高运行效率,在能够采用多线程时应采用多线程,而线程中涉及到的算法则应尽力优化。