网站改版 总结加载wordpress外部文件
web/
2025/10/3 5:35:58/
文章来源:
网站改版 总结,加载wordpress外部文件,seo关键词优化软件,织梦cms收费多线程
线程
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中#xff0c;是进程中的实际运作单位。
#xff08;理解#xff1a;应用软件中互相独立#xff0c;可以同时运行的功能#xff09;
进程
进程是程序的基本执行实体。#xff08;理解#…多线程
线程
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中是进程中的实际运作单位。
理解应用软件中互相独立可以同时运行的功能
进程
进程是程序的基本执行实体。理解一个软件运行之后就是一个进程 多线程
有了多线程就可以让程序同时做多件事情就是为了提高程序的运行效率
多线程的应用场景
软件中的耗时操作拷贝、迁移大文件加载大量的资源文件
并发
在同一时刻有多个指令在单个CPU上交替执行
并行
在同一时刻有多个指令在多个CPU上同时执行
多线程的实现方式
1.继承Thread类的方式进心实现
package xyz.dimeng.m01thread1;public class MyThread extends Thread{Overridepublic void run() {//线程要执行的代码for (int i 0; i 100; i) {System.out.println(getName()多线程方法i);}}
}package xyz.dimeng.m01thread1;public class ThreadDemo {/**** description 多线程的第一种启动方式* 1.自己定义一个类继承Thread* 2.重写run方法* 3.创建子类的对象并启动线程* param args* return void* author 乔晓扑* date 2024/5/7 23:24*/public static void main(String[] args) {MyThread t1 new MyThread();MyThread t2 new MyThread();t1.setName(线程1);t2.setName(线程2);t1.start();t2.start();}
}执行结果一会执行线程1一会执行线程2
2.实现Runnable接口的方式进行实现
package xyz.dimeng.m02thread2;public class ThreadDemo {public static void main(String[] args) {/**** description 多线程的第二种启动方式* 1.自己定义一个类实现Runnable接口* 2.重写里面的run方法* 3.创建自己的类的对象* 4.创建一个Thread类的对象并开启线程* param args* return void* author 乔晓扑* date 2024/5/7 23:38*/MyRun mr new MyRun();Thread t1 new Thread(mr);Thread t2 new Thread(mr);t1.setName(线程1);t2.setName(线程2);t1.start();t2.start();}
}package xyz.dimeng.m02thread2;public class MyRun implements Runnable{Overridepublic void run() {//线程要执行的代码for (int i 0; i 100; i) {Thread t Thread.currentThread();System.out.println(t.getName()多线程方法i);}}
}执行结果一会执行线程1一会执行线程2
3.利用Callable接口和Future接口方式实现
package xyz.dimeng.m03thread3;import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;public class ThreadDemo {public static void main(String[] args) throws ExecutionException, InterruptedException {/**** description 多线程的第三种实现方式* 特点可以获取到多线程运行的结果* 1.创建一个类MyCallable实现Callable接口* 2.重写call是有返回值的表示多线程运行的结果* 3.创建MyCallable对象(表示多线程要执行的任务)* 4.创建FutureTask的对象作用管理多线程运行的结果* 5.创建Thread类的对象并启动* param args* return void* author 乔晓扑* date 2024/5/7 23:49*///创建MyCallable对象(表示多线程要执行的任务MyCallable mc new MyCallable();//创建FutureTask的对象作用管理多线程运行的结果FutureTaskInteger ft new FutureTask(mc);Thread t1 new Thread(ft);t1.start();System.out.println(ft.get());}
}package xyz.dimeng.m03thread3;import java.util.concurrent.Callable;public class MyCallable implements CallableInteger {Overridepublic Integer call() throws Exception {//求1~100的和int sum 0;for (int i 0; i 100; i) {sum i;}return sum;}
}第三种可以获取到结果
第二种和第三种扩展性强可以继承其他的类
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86043.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!