并发

作者: 高永骁 | 来源:发表于2018-06-07 21:56 被阅读0次

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

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

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

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

有两个类似的方法:

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

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

线程抢占式执行。

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

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

相关文章

网友评论

      本文标题:并发

      本文链接:https://www.haomeiwen.com/subject/hwvbsftx.html