并发

并发和并行:例:我们的服务器能处理1W的并发量,处理器有4个核心,说明其实是同时跑的只有4个并行的任务。

一个程序同时执行多个任务,每一个任务称之为一个线程

不要调用Thread类或Runnable对象的run方法,只会执行同一个线程中的任务,而不会启动新线程。应该调用start方法,这个方法将创建一个执行run方法的新线程。

没有可以强制线程终止的方法(stop已经被弃用),interrupt可以用来请求终止线程,标记中断状态为true。

有两个类似的方法:

interrupted是一个静态方法,能检测当前线程是否被中断,而且会清除中断状态,标记中断状态为false。

isInterrupted是一个实例,检测是否有线程被中断,不会改变中断状态

线程抢占式执行。

当线程试图获取一个内部的对象锁,而该锁被其他线程持有,则该线程进入阻塞状态

当一个线程被阻塞、等待,另一个线程被调度为运行状态,然后那个线程被重新激活(等待时间到、成功获得一个锁),线程调度器检查它是否具有比运行线程更高的优先级,如果有,则从当前运行的线程中挑选一个,剥夺运行权,选择新线程运行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单任务 单任务的特点是排队执行,也就是同步,就像再cmd输入一条命令后,必须等待这条命令执行完才可以执行下一条命令...
    Steven1997阅读 1,227评论 0 6
  • 第三章 Java内存模型 3.1 Java内存模型的基础 通信在共享内存的模型里,通过写-读内存中的公共状态进行隐...
    泽毛阅读 4,400评论 2 22
  • 一、并发 进程:每个进程都拥有自己的一套变量 线程:线程之间共享数据 1.线程 Java中为多线程任务提供了很多的...
    SeanMa阅读 2,568评论 0 11
  • 一波放假日常 边缘的山村 慢节奏的生活 “从前日色变得慢 车 马 邮件都慢 一生只够爱一个人” 感恩 珍惜眼下
    废材o_o阅读 183评论 0 0