栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021/11/21 北京 java线程----------概念与创建

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021/11/21 北京 java线程----------概念与创建

程序(program)是一段静态的代码。

进程是正在运行的一个程序,是动态的,进程有它自己的产生,存在和消亡过程。、


线程的创建,继承Thread类

 上图说的很明白了吧,咱再给你演示一下

1.做好准备工作,把我们自己创建的分线程是要做啥的,给写到run()方法里。

 2.在主线程,main方法里创建分线程并让分线程运行起来

 至此,完结散花。


start()方法是做啥的呢?启动当前线程(谁调这个方法谁就是当前线程),并自动调用当前线程的run()方法。

那么问题来了,可不可以直接调用run()?肯定不可以。那我要是就调了,会咋样

t1.run();//没有开启新的线程,只是单纯的对象调用方法

那我这个线程启动了之后,我再调start()方法,还是那个t1,可以吗,不可以。不能让已经start()的线程去再启动。你可以去new 一个新的t2,用t2.start()

t1.start();
t1.start(); //用t1调用俩次start(),会报异常

接着我们可以使用匿名内部类的方式,优化一下上面的代码.

不得不说,人类越来越会玩了,看着确实优雅太多了

 


有了线程,也开启了,接这看看常用的一些方法,大饱眼福

先来不是那么难理解的:

 再来一点稍微有水平的

 你会发现这些方法使让线程更加灵活了,让我们能更好的去理解这个线程,去控制它了。

 


线程的调度,人性化设计。凡是人性化设计的那就是很合理的,很容易共鸣。

看到这个时间片,想到了我大学学的知识,在这里看到了熟悉的方波。同优先级就乖乖排队,高优先级的会具有更高的概率获得cpu执行权。

 


再赐予你一件法宝图: 

比方说,下面这样的 把分线程优先级设置到最高,主线程优先级设置到最低。

 


对线程有了初步的概念后,我们还有一种更好的方式去创建线程,我们上面是继承Thread类。

这第二种方式就是实现Runnable接口

准备工作: 创建一个类实现Runnable接口

 在主线程main方法里;注意线程t1是怎么来的。

Thread t1=new Thread(mThread)//把实现类的对象作为参数传入Thread构造器

 


那么,实现Runnable接口的方式好在哪里了?

因为java单继承的限制,继承了Thread类,就没有办法继承别的类了。

而且用实现Runnable接口的方式更适合处理多个线程有共享数据的情况,用它就完事。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/583620.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号