day14-多线程1
1、谈谈你对程序、进程、线程的理解
程序:用代码书写的,用于去实现某种功能的一组指令集合。
进程:是程序的一次执行过程,或是正在运行的一个程序,是一个动态的过程,有它自身的产生、存在和消亡的过程
线程:进程可以进一步细化为线程,一个线程是程序内部的一条执行路径
2、代码完成继承Thread的方式创建分线程,并遍历100以内的自然数
public class ThreadDemo extends Thread{ public void run(){ for(int i = 0; i < 100; i++){ System.out.println(i + ", ") } } }
public class Demo { public static void main(String[] args){ new ThreadDemo().start(); } }
3、代码完成实现Runnable接口的方法创建分线程,并遍历100以内的自然数
public ThreadDemo implements Runnale { public void run(){ for(int i = 0; i < 100; i++){ System.out.println(i + ", ") } } }
public class Demo { public static void main(String[] args){ ThreadDemo threadDemo new ThreadDemo(); new Thread(threadDemo).start(); } }
4、对比两种创建方式
(1)继承Thread类 和 实现Runnable接口,都需要重写run()方法,将线程需要执行的代码声明在run()方法中。
(2)实现Runnable接口可以避免java的单继承的局限性。
(3)实现Runnable接口,更适合来处理多个线程共享数据的情况。
本文作者:huxingxin
本文链接:https://www.cnblogs.com/huxingxin/articles/17023957.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)