CoreJava核心概述-线程

1、线程

进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。

线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。

“同时”执行是人的感觉,在线程之间实际上轮换执行。

2、同步与异步

同步传输:是指数据块与数据块之间的时间间隔是固定的,必须严格地规定它们的时间关系。

比如:

我们去购物,如果你去商场实体店买一台空调,当你到了商场看中了一款空调,你就想售货员下单。售货员去仓库帮你调配物品。这天你热的实在不行了。就催着商家赶紧给你配送,于是你就等在商场里,候着他们,直到商家把你和空调一起送回家,一次愉快的购物就结束了。

B/S:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 

异步传输:是以字符为传输单位,每个字符都要附加 1 位起始位和 1 位停止位,以标记一个字符的开始和结束,并以此实现数据传输同步。

比如:

不过,如果我们赶时髦,就坐再家里打开电脑,在网上订购了一台空调。当你完成网上支付的时候,对你来说购物过程已经结束了。虽然空调还没有送到家,但是你的任务都已经完成了。商家接到你的订单后,就会加紧安排送货,当然这一切已经跟你无关了,你已经支付完成,想什么就能去干什么了,出去溜达几圈都不成问题。等送货上门的时候,接到商家电话,回家一趟签收即可。

AJAX:请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕

3、单线程

在java中单线程就是我们的主线程,每一个程序都有一个唯一的主线程。

public class TestThread{
 public void run(){
  while(true){
   //显示当前线程的名字
   System.out.println("run: "+Thread.currentThread().getName());
  }
 }
}
public class ThreadDemo{
 public static void main(String args[]){
  while(true){
   System.out.println("main: "+Thread.currentThread().getName());
  }
 }
}

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注