java的thread和runnable有什么区别?
进程:每个进程都有自己的代码和数据空间(进程上下文),在进程之间切换会花费很多。一个进程包含1--n个线程。
线程:同一种线程共享代码和数据空间,每个线程都有自己的运行堆栈和程序计数器(pc),线程切换开销很小。
线程和进程分为五个阶段:创建、准备、运行、阻止和终止。多进程意味着操作系统可以同时运行多个任务(程序)。
多线程是指在同一程序中执行多个顺序流。在java中实现多线程有两种方法,一种是继续线程类,另一种是实现可运行接口。小结:实现runnable接口比继承thread类有以下优点:
1):适用于同一程序代码的多个线程处理同一资源
2):避免了java中单一继承的限制
3):增加了程序的健壮性,提高了性能它的代码质量可以被多个线程共享,并且代码和数据是独立的
我在日常生活中使用的主要语言是c#和java。在语法方面,写c#更有趣。主要原因是c#有更多的语法糖,而且linq非常容易使用。其次,visualstudio被称为世界上第一个ide。但个人更喜欢java。
从java8出来后,我觉得java正在追赶c#,java和c#的语法越来越相似(原来很相似,哈哈)。这里有一些比较。
在java8中添加lambda表达式后,我感觉越来越像c。
1.当然,首先要看收入。在中国,基本上没有使用c的大公司。最初,携程在使用它,但后来,它也转向了java。
2.从技术的角度来看,有很多优秀的框架可以使用,因为java可以制造很多轮子。在实际项目中你遇到问题,别人一定遇到过,能找到问题的关键。
3.从生态学的角度来看,java无疑是最好的选择之一,因为它的开源较早,建立生态学的时间也较早。
4.在性能方面,sun/oracle热点jvm内置的jit编译器在运行时对字节码进行了优化。如果它不是一个性能敏感的应用程序,java就足够了。
谢谢。
原文标题:泛型java java的thread和runnable有什么区别?,如若转载,请注明出处:https://www.saibowen.com/tougao/21968.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。