欢迎来到天天文库
浏览记录
ID:62308572
大小:193.96 KB
页数:28页
时间:2021-04-26
《黑马程序员JAVA编程阶梯:基础篇之第二十四章.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、优选【某某中心】JAVA编程阶梯:基础篇之第二十四章·多线程(多线程的引入)*1.什么是线程 *线程是程序执行的一条路径,一个进程中可以包含多条线程 *多线程并发执行可以提高程序的效率,可以同时完成多项工作*2.多线程的应用场景 *红蜘蛛同时共享屏幕给多个电脑 *迅雷开启多条线程一起下载 *QQ同时和多个人一起视频 *服务器同时处理多个客户端请求 ·多线程(多线程并行和并发的区别)*并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。(需要多核CPU)*并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两
2、个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行。*比如我跟两个网友聊天,左手操作一个电脑跟甲聊,同时右手用另一台电脑跟乙聊天,这就叫并行。*如果用一台电脑我先给甲发个消息,然后立刻再给乙发消息,然后再跟甲聊,再跟乙聊。这就叫并发。28/28优选·多线程(Java程序运行原理和JVM的启动是多线程的吗)*A:Java程序运行原理 *Java命令会启动java虚拟机,启动JVM,等于启动了一个应用程序,也就是启动了一个进程。该进程会自动启动一个“主线程”,然后主线程去调用某个类的main方法。 *B:JVM的启动是多线程的吗
3、 *JVM启动至少启动了垃圾回收线程和主线程,所以是多线程的。·多线程(多线程程序实现的方式1)*1.继承Thread *定义类继承Thread *重写run方法 *把新线程要做的事写在run方法中 *创建线程对象 *开启新线程,内部会自动执行run方法 [Java] 纯文本查看 复制代码?010203publicclassDemo2_Thread{ /**28/28优选0405060708091011121314 *paramargs
4、 */ publicstaticvoidmain(String[]args){ MyThreadmt=newMyThread(); //4,创建自定义类的对象 mt.start(); //5,开启线程
5、 for(inti=0;i<3000;i++){ System.out.println("bb"); } } } [Java] 纯文本查看 复制代码?1234567classMyThreadextendsThread{ //1,定义类继承Thread publicvoidrun(){
6、 //2,重写run方法 for(inti=0;i<3000;i++){ //3,将要执行的代码,写在run方法中 System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaa"); } } }28/28优选 ·
7、多线程(多线程程序实现的方式2)*2.实现Runnable *定义类实现Runnable接口 *实现run方法 *把新线程要做的事写在run方法中 *创建自定义的Runnable的子类对象 *创建Thread对象,传入Runnable *调用start()开启新线程,内部会自动调用Runnable的run()方法 [Java] 纯文本查看 复制代码?01020304050607publicclassDemo3_Runnable{ /** *paramargs
8、 */ publicstaticvoidmain(String[]args){
此文档下载收益归作者所有