java单线程和多线程的区别
1.单线程和多线程的区别?
你早上上班,正要打卡的时候,手机响了。。你如果先接了电话,等接完了,在打卡,就是单线程。
如果你一手接电话,一手打卡。就是多线程。
这两件事的结果是一样的。。你接了电话且打了卡。
(1)最常见的一个线程例子:
package com.ggx.thread;
public class OnlyThread{public static void main(String[] args){System.out.println("我就是一个线程");}
}
当程序启动运行时,就自动产生一个线程,主方法main就在这个主线程上运行。我们的程序都是由线程来执行的。
(2)控制该线程的行为
package com.ggx.thread;public class OnlyThread {@SuppressWarnings("static-access")public static void main(String[] args) {Thread thread = Thread.currentThread();// 获取当前线程的引用(这里并没有创建新的线程)thread.setName("我是孤零零的一个线程");// 设置当前线程名称System.out.println(thread.getName() + ":正在运行");for (int i = 0; i <= 5; i++) //当前线程循环睡眠{try {System.out.println(thread.getName()+"第:" + i+"次睡眠,当前时间"+System.currentTimeMillis());thread.sleep(5000);//让当前线程睡眠五秒钟System.err.println(thread.getName()+"第:" + i+"次觉醒,当前时间"+System.currentTimeMillis());thread.sleep(1000);//这里是为了方便区分控制台的输出,因为两次间隔毫秒数相同,打印的顺序会有错乱让线程睡了一秒,这样输出顺序容易观察System.out.println();//换行} catch (InterruptedException e) {System.out.println(thread.getName()+"异常");e.printStackTrace();}}}
}
</span>
程序运行结果:
我是孤零零的一个线程第:0次睡眠,当前时间1439734065648
我是孤零零的一个线程第:0次觉醒,当前时间1439734070663
我是孤零零的一个线程第:1次睡眠,当前时间1439734071666
我是孤零零的一个线程第:1次觉醒,当前时间1439734076668
我是孤零零的一个线程第:2次睡眠,当前时间1439734077670
我是孤零零的一个线程第:2次觉醒,当前时间1439734082673
我是孤零零的一个线程第:3次睡眠,当前时间1439734083675
我是孤零零的一个线程第:3次觉醒,当前时间1439734088687
我是孤零零的一个线程第:4次睡眠,当前时间1439734089690
我是孤零零的一个线程第:4次觉醒,当前时间1439734094694
我是孤零零的一个线程第:5次睡眠,当前时间1439734095696
我是孤零零的一个线程第:5次觉醒,当前时间1439734100711
当程序启动运行时,就自动产生一个线程,主方法main就在这个主线程上运行。我们的程序都是由线程来执行的。
线程在建立后并不马上执行run方法中的代码,而是处于等待状态。线程处于等待状态时,可以通过Thread类的方法来设置线程各种属性,如线程的优先级(setPriority)、线程名(setName)和线程的类型(setDaemon)等。
java单线程和多线程的区别相关推荐
- 单线程与多线程的区别
程序是什么? 程序是由源代码生成的可执行应用. 什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源. 而一个进程又是由多个线程所组成的. 什 ...
- 单线程、多线程的区别
程序.进程.线程 程序:由源代码生成的可执行应用. (例如:QQ.app) 进程:一个正在运行的程序可以看做一个进程,(例如:正在运行的QQ警示一个劲曾),进程拥有独立运行所需要的全部资源 线程:程序 ...
- Java单线程与多线程
1.什么是线程? 在我们了解单线程和多线程之前,我们必须搞清楚什么是进程. 一个运行起来的程序就是一个进程! 那程序又是什么呢? 对程序的通俗定义就是:一段可执行的代码. 当我们执行一段Java程序时 ...
- 理解单线程和多线程的区别
单线程和多线程 首先我们都知道线程是隶属于进程的,单线程就是程序中只有一个线程,多线程就是程序中有多个线程.通过连个例子理解多线程和单线程. (一)单线程 创建包:package com.ffyc.j ...
- 快速理解Java单线程和多线程比较
单线程是一个一个线程顺序执行,一个线程只有当前一个线程执行完之后才能执行.这种方法可以会导致当某个线程等待响应的时间特别长时,下一个线程需要一直等待,而这时CPU处于空闲. 多线程是一个时间段一个时间 ...
- python单线程和多线程的区别
多线程与单线程的区别 1.生活举例 你早上上班,正要打卡的时候,手机响了..你如果先接了电话,等接完了,在打卡,就是单线程. 如果你一手接电话,一手打卡.就是多线程,2件事的结果是一样的..你接了电话 ...
- 什么是单线程和多线程,单线程与多线程的区别
什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源. 而一个进程又是由多个线程所组成的. 什么是线程? 线程是程序中的一个执行流,每个线程都有自己的 ...
- 单线程和多线程的区别_谷歌下载东西超慢?开启Chrome多线程下载,下载速度提升10倍+...
用谷歌浏览器下载速度慢,浏览器采用的是单线程下载,"一人难敌四手"的浏览器自然斗不过多线程了.所以说浏览器想要提高下载速度,就得采用多线程的下载方式,不过到目前为止,Chrome多 ...
- 单线程和多线程的区别
前端精髓 每日为你推送 假设业务场景中有一组互不相关的任务需要完成,现行的主流方法有以下两种. 单线程串行依次执行. 多线程并行完成. 如果创建多线程的开销小于并行执行,那么多线程的方式是首选的.多线 ...
最新文章
- Jzoj4747 被粉碎的线段树
- Linux进程通信中IPC对象——IPC_PRIVATE与ftok
- BIM机器人来袭、你害怕了吗
- JSP简单练习-使用JDOM创建xml文件
- Android 中单选框或复选框点击其中一个,其余取消操作
- Java的二十三种设计模式(建造者模式(Builder))
- Android开发之打开指定APP | 打开APP任意页面的方法
- 交友软件上的两种网友类型......
- python 登陆微博 被删除 token_爬取微博信息,使用了cookie仍然无法登录微博
- 本次安装visual studio所用的安装程序不完整_阁楼影院安装案例
- php文件改后缀,php如何修改文件后缀名
- Qt——多语言程序设计
- 彻底清除mplay.com与mplay.exe病毒
- Linux系统中xz命令用法详解(压缩和解压缩)
- mac屏保怎么不显示,mac屏保怎么关闭
- java 图片加水印不失真_java实现图片加水印效果
- RN设置宽高100%
- [M1]Daily Scum 9.29
- 项目一 认识Linux 操作系统
- Linux shell 脚本编程-实战篇(三)