首页 > 编程语言 > 详细

Java并发

时间:2021-05-21 23:51:26      阅读:19      评论:0      收藏:0      [点我收藏+]

起因

每天晚上都会抽一点时间看面经,今天发现面经的线程和进程考的比较多而我还没有学,就学一下吧。慢慢更。

 

多线程和多进程

并发听起来复杂其实日常生活中都在用,比如说浏览器执行多个下载任务等。

多进程是操作系统为每个进程分配CPU时间片,给人并行处理的感觉。

多线程是在单个进程里给人同时处理多个任务的感觉。

本质区别:每个进程都拥有自己的一套变量,而线程共享数据。

 

如何在程序中实现一个线程

Java中线程是一个类(Thread)。通过给Thread对象一个实现Runnable接口对象,这个对象重写了Run方法,Run方法里的内容就是线程执行的内容。调用Thread.Start()方法,JVM就会自动调用重写的run方法,运行这个线程。

1 //由于Runnable接口是一个函数是接口,所以可以用lambda表达式简化描写。
2 Runnable r = () -> {
3     void run() {
4           XXXXXXX;
5     }  
6 }
7 
8 new Thread(r).start();

 

线程的多种状态

新建: 

用new新建一个线程,还没start时。

 

可运行:

调用start方法就处于可运行状态。可运行不一定就保持运行,操作系统根据优先级轮换线程的执行。

 

阻塞:

当一个线程试图获取一个内部对象锁(以后说),而该锁别其他线程占有,就处于阻塞状态。

 

等待:

当一个线程等待另一个线程的条件时,就会处于等待状态。

 

计时等待:

几个超时参数会让线程处于计时等待状态。

 

终止:

run方法自然退出或一个没有捕获的异常终止进程。

Java并发

原文:https://www.cnblogs.com/hitsz-yc/p/14797461.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!