多线程01.newThread的方式创建线程
1.java应用程序的main函数是一个线程,是被jvm启动的时候调用,线程的名字叫main 2.实现一个线程,必须创建一个thread实例,override run方法,并且调用start方法。 3.在jvm启动后,实际 上有多个线程,但是至少有一个非守护线程。 4.当你调用一个线程start方法的时候,此时至少有两个线程,一个是调用你的线程,还有一个是执行run方法的线程 5.线程的生命周期分为new,runnable,running,block,termate.
public class Mythread { public static void main(String[] args) { //使用匿名内部类的方式执行多线程 Thread th1= new Thread("custom"){ @Override public void run(){ for(int i=0;i<100;i++){ System.out.println(Thread.currentThread().getName()+"使用匿名内部类的方式创建多线程=>"+i); } } };//start调用了底层c++的方法,重写run方法,使用的是模板方法模式。 th1.start(); th1.start();//不能调用start两次 for(int i=0;i<100;i++){ System.out.println(Thread.currentThread().getName()+"使用普通的main进行打印=>"+i); } } }
模板方法模式案例:
public abstract class TemplateMethod { public final void print(String message){ System.out.println("###################"); wrapPrint(message); System.out.println("###################"); } protected abstract void wrapPrint(String message); public static void main(String[] args) { TemplateMethod t1= new TemplateMethod(){ @Override protected void wrapPrint(String message){ System.out.println("##"+message+"##"); }; }; t1.print("hello thread"); } }
---------------------------------------------------------------------------
国之殇,未敢忘!
南京大屠杀!
731部队!
(有关书籍《恶魔的饱食》)以及核污染水排海等一系列全无人性的操作,购买他们的食品和为它们提供帮助只会更加变本加厉的害你,呼吁大家不要购买日本相关产品
昭昭前事,惕惕后人
吾辈当自强,方使国不受他人之侮!
---------------------------------------------------------------------------
作者:三号小玩家
出处:https://www.cnblogs.com/q1359720840/
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 版权信息
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库