重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、并行、串行、并发
专注于为中小企业提供网站制作、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业黑河免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
在了解java中多线程的三种实现方式之前,我们首先需要明白并行、串行、并发三个概念。
1.并行:多个CPU同时处理多个任务;
2.串行:单个CPU处理多个任务,当一个任务执行完成之后下一个任务才能够执行;
3.并发:单个CPU处理多个任务,每个任务都会被分一定的时间片,一个任务执行一段时间无论完成与否都要切换另一个任务执行。
在java中多线程其实就是并发的一种模式。
二、java实现多线程的三种方式
我们以买咖啡为例,现在咖啡店只有一个窗口,将每一个人买咖啡的过程视为一个任务。
1.实现Runnable接口
package multithreading; public class LRunnableOne { public static void buyCoffee(String name) { System.out.println(name+ "开始买咖啡"); System.out.println(name+ "正在买咖啡"); System.out.println(name+ "买完了"); } public static void main(String[] args) { Thread t1= new Thread(new lr("张三")); Thread t2= new Thread(new lr("李四")); Thread t3= new Thread(new lr("王五")); System.out.println("run方法并不会启动新的线程,只是执行线程中run内的方法,仍然是在主线程上依次上进行"); t1.run(); t2.run(); t3.run(); System.out.println("start方法会启动新的线程,并发执行"); t1.start(); t2.start(); t3.start(); } } class lr implements Runnable{ String name; public lr(String name) { this.name = name; } @Override public void run() { LRunnableOne.buyCoffee(name); } }