上海网站建设置作山西响应式网站建设设计
news/
2025/9/23 11:12:58/
文章来源:
上海网站建设置作,山西响应式网站建设设计,自己做的网站怎样赚钱,网页制作与设计先学什么一#xff1a;前言
多线程在java中具有举足轻重的地位#xff0c;无论是平时开发中还是面试求职中#xff0c;对多线程这一块的知识点考察都非常多的#xff0c;本周我们将平时开发中、面试中常见的一些多线程知识进行梳理#xff0c;让大家对这一块有更加深入的理解
二…一前言
多线程在java中具有举足轻重的地位无论是平时开发中还是面试求职中对多线程这一块的知识点考察都非常多的本周我们将平时开发中、面试中常见的一些多线程知识进行梳理让大家对这一块有更加深入的理解
二多线程应用场景
2.1多线程的定义
多线程是指在一个程序中同时运行多个线程每个线程都是独立的执行流程可以在同一时间内执行不同的任务从而提高程序的并发性和效率。
2.2多线程应用场景
1后台任务比如定时推送1000W短信
2异步计算如发微博、记录日志、耗时计算
3分布式计算通过多线程实现分布在不同机器上的任务协同工作。
4数据分析对于大数据集的分析由于单线程处理可能太慢因此可能需要使用多线程来加速这个过程。
5多步骤的任务处理根据任务的不同阶段和特性使用多线程来协调不同的任务流程。
2.3:多线程的意义
1提高效率通过多线程可以把任务分解成多个每个线程之间互不干扰提高整体效率
2提高并发性和响应能力Java多线程允许程序在同一时间执行多个任务可以充分利用计算机的多核处理器提高程序的性能和响应速度。
三多线程的技术应用
3.1 java中的基础实现
通过继承Thread类或者实现Runnable接口实现多线程案例代码如下
public class ReadingThread extends Thread{private String name;private Integer age;public ReadingThread(String name,Integer age){this.namename;this.ageage;}Overridepublic void run() {System.out.println(当前姓名:name,ageage);}
}public class ReadingThread extends Thread{private String name;private Integer age;public ReadingThread(String name,Integer age){this.namename;this.ageage;}Overridepublic void run() {System.out.println(当前姓名:name,ageage);}
}public class ReaddingCallable implements CallableString {Overridepublic String call() throws Exception {return null;}
}public static void main(String[] args) {System.out.println(130);ReadingThread threadnew ReadingThread(aa,100);thread.start();Thread.currentThread().setPriority(1);ReaddingRunnable readdingRunnablenew ReaddingRunnable(cc,200);Thread thread2new Thread(readdingRunnable);thread2.start();ReaddingCallable callablenew ReaddingCallable();FutureTask futureTasknew FutureTask(callable);Thread thread3new Thread(futureTask);thread3.start();Object result futureTask.get();}2.线程的生命周期 3:线程中的常用的函数说明 Thread thread8new Thread();//启动一个线程thread8.start();//执行当前线程并不会新开线程thread8.run();//java线程优先级设置 范围在1-10 1为最低 10为最高默认创建是5// cpu会按照优先级进行分配资源thread8.setPriority(5);//当前线程加入等待等当前线程执行完毕在执行主线程thread8.join();//设置中断状态设置为已中断thread8.interrupt();//获取中断状态thread8.isInterrupted();//恢复中断状态Thread.interrupted();//如何优雅停止线程一种常见的方法是使用中断机制Thread.sleep(100);
4:如何优雅停止线程
在Java中优雅地停止线程通常意味着让线程自愿停止执行而不是使用强制例如Thread.stop()方法。
class GracefulStoppable extends Thread {private volatile boolean running true;Overridepublic void run() {while (running) {// 执行任务// ...// 检查是否有中断请求if (Thread.currentThread().isInterrupted()) {// 清理资源或执行停止逻辑// ...break;}}}public void stopGracefully() {running false;interrupt(); // 触发中断状态}
}public class Main {public static void main(String[] args) throws InterruptedException {GracefulStoppable thread new GracefulStoppable();thread.start();// 执行其他操作...// 当需要优雅停止线程时thread.stopGracefully();thread.join(); // 等待线程终止}
} 四多线程引申过来的知识点解析
五多线程中的最佳实践
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912329.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!