当前位置: 首页 > news >正文

html5高端网站建设wordpress百度云对象存储

html5高端网站建设,wordpress百度云对象存储,游戏网页设计模板,建立个人网站能赚钱吗文章目录前言线程创建1.继承Thread类重写run()方法如何查看程序中的线程?2.实现Runnable接口3.使用匿名内部类,继承Thread4.使用匿名内部类,实现Runnable5.⭐使用Lambda表达式,创建线程(重要)Thread 的常见构造方法总结前言 在这里主要补充说明一些问题,方便更好地理解下面的… 文章目录前言线程创建1.继承Thread类重写run()方法如何查看程序中的线程?2.实现Runnable接口3.使用匿名内部类,继承Thread4.使用匿名内部类,实现Runnable5.⭐使用Lambda表达式,创建线程(重要)Thread 的常见构造方法总结前言 在这里主要补充说明一些问题,方便更好地理解下面的内容: 1.关于多线程存在有什么意义以及多线程存在有什么好处? 多线程编程主要是为了更好地解决并发编程这个问题,因为创建销毁调度一个进程开销比较大(消耗资源多和速度慢),进程之所以开销比较大,主要是在资源的分配和回收上 而线程也被称为轻量级进程,因此在解决并发编程这个问题上,线程的创建销毁调度的更快一些. 2.线程和进程的关系 一个进程可以有一个线程,也可以有多个线程,但是不能没有线程 在启动线程时,只有第一个线程的开销比较大,后面的开销就很小了 在不支持线程的操作系统中进程既是资源分配的基本单位也是调度的基本单位在拥有线程的操作系统中线程是调度的基本单位而进程是资源分配的基本单位。 系统级线程的切换需要内核的支持用户级线程的切换不需要内核的支持。同一进程中的线程共享同一物理内存空间。 3.增加线程的数量,能否提高执行速度 增加线程的数量不一定能提高速度,因为CPU核心数是有限的,如果创建线程太多,不小的开销主要在调度上浪费了 4.其它的一些知识点 线程就是独立的执行路径 main()线程也称为主线程,为系统的入口,执行整个程序,由JVM进行创建 程序运行时,即使没有手动创建线程,后台也会有多个线程,如:主线程,gc线程 在一个进程中,线程是抢占式执行,各个线程的执行顺序是不确定的 Java多线程中,最核心的类就是Thread类,而使用Thread类不需要导入任何类型的包,因为它是在java.lang包下,默认是导入的 线程主要是为了更好地解决并发编程的问题 线程创建 线程的创建有5种方法,下面为大家一一介绍这些创建线程的方法 1.继承Thread类重写run()方法 //创建线程 方法1:继承Thread 重写run方法 class MyThread extends Thread{Overridepublic void run() {while(true){System.out.println(run方法在执行);}} } public class ThreadDemo1 {public static void main(String[] args) {Thread thread new MyThread();thread.start();//这里要注意while(true){System.out.println(main方法在执行);}} }代码执行的一小段结果如下: 在创建好thread这个实例对象之后,调用的方法是start方法,而不是run方法,调用start方法是为了创建一个线程,由这个新的线程去调用thread.run方法,在run方法执行完毕后,创建的这个新的线程就自动销毁了,如果直接调用thread方法,是不会有新的线程的 程序执行流程图区别如下: 对于上述代码来说,如果只是调用thread.run()方法,那么程序只会一直打印run方法在执行,不可能会打印main()方法在执行 如何查看程序中的线程? 为了更好地看到线程,Java也为我们提供了方法,我们可以使用jdk中自带的工具jconsole来查看当前进程中的所有线程 在查看线程时要运行你想要查看程序的main方法 如果打开jconsole.exe之后什么都看不到,可以尝试以管理员方式运行 2.实现Runnable接口 实现Runnable接口,要重写的方法也是run()方法 //Runnable 描述一个要执行的任务 class MyRunnable implements Runnable{Overridepublic void run() {System.out.println(hello Thread);} } public class TreadDemo2 {public static void main(String[] args) {Runnable runnable new MyRunnable();//描述了一个任务Thread thread new Thread(runnable);//把任务交给线程来执行thread.start();} }这样的写法最大的好处就是解耦合,目的是为了将任务和线程之间分开 3.使用匿名内部类,继承Thread public class ThreadDemo3 {public static void main(String[] args) {Thread thread new Thread(){Overridepublic void run() {System.out.println(hello thread);}};thread.start();} }这里new Thread() 是创建了一个Thread的子类,没有名字,所以是匿名,并让thread指向这个子类对象 4.使用匿名内部类,实现Runnable public class ThreadDemo4 {public static void main(String[] args) {Thread thread new Thread(new Runnable() {Overridepublic void run() {System.out.println(hello thread);}});//注意()thread.start();} }这个写法是创建了一个子类,实现了Runnable接口,同时创建了类的实例,并传给Thread的构造方法 5.⭐使用Lambda表达式,创建线程(重要) 这种创建线程的方法最简单,在平时使用的时候,使用Lambda表达式创建线程是最常用的,所以这种线程的创建方式要务必掌握!!! public class ThreadDemo5 {public static void main(String[] args) {Thread thread new Thread(()-{System.out.println(hello thread);});thread.start();} }Thread 的常见构造方法 Thread 的常见构造方法常见的构造方法有四种 构造方法说明Thread()创建线程对象Thread(Runnable target)使用 Runnable 对象创建线程对象Thread(String name)创建线程对象并命名Thread(Runnable target, String name)使用 Runnable 对象创建线程对象并命名 这里着重说一下第三种和第四种构造方法, 这两种构造方法可以给线程命名.给线程命名的最大好处就是当程序中创建了很多的线程,而程序中地某个线程中出现问题,可以更好地进行调试,更快地找到问题所在. 总结 掌握线程创建的方法,特别是用Lambda表达式创建线程的方法(最简单也最常用)掌握start()和run()方法之间的区别
http://www.hkea.cn/news/14550447/

相关文章:

  • 无锡网站排名优化wordpress编辑器下载
  • 浙江嘉兴seo网站优化推广广东网站优化
  • 怎样做个做外贸的网站做网站的分页查询
  • 苏州晶体公司网站建设网站流量好难做
  • 网站建设维护管理软件辽宁省建设厅官方网
  • 西安网站托管排名江西科技学校网站建设
  • 个人可否建立网站移动网站和桌面网站区别
  • 网站的栏目建设在哪里wordpress设置多语言
  • 河间网站建设无人机东莞网站建设
  • 常德微网站开发泰兴市 建设安全监察网站
  • 罗湖网站建设联系电话正常做网站多少钱
  • 免费做网站app下载北京展览展示设计有限公司
  • 外贸网站建设需要注意事项一加官方网站进入
  • 张家港企业做网站wordpress微信分享按钮
  • dede5.7内核qq个性门户网站源码企业网页有免费的吗
  • 营销型企业网站分析与诊断wordpress是谁写的
  • 有关做粪污处理设备的企业网站贴图库外链图床wordpress插件
  • 河南快速网站备案东莞公司注册服务平台
  • 深圳网站建设明细报价表发布平台有哪些
  • 郑州二七区网站建设软件开发流程图怎么做
  • 合肥商城网站建设多少钱中国培训网是国家公认的吗
  • 如何创立一个网站销售成功案例分享
  • 深圳网站seo推广网站seo知识
  • 企业网站多少钱一年cms 做网站模板
  • 做网站后端要学什么办文明网站做文明网民活动方案
  • 安徽创誉建设工程有限公司网站河北建设厅网站初始密码
  • 加强残联网站建设网站吸引力
  • 国内网站 备案重庆建设工程造价信息总站
  • 知识产权网站建设青岛网络公司哪家专业
  • 西安做网站比较好的公司中国服务器在外国网站有哪些