
多线程
文章平均质量分 75
潇潇的潇
Be myself!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程同步 (二)——ReentrantLock类
继 多线程同步 (一)——synchronized关键字,可以通过使用synchronized关键字实现线程之间的同步, 使用Lock也可以达到同样的效果,本篇博客主要是关于Lock接口的子类ReentrantLock的使用, 由于对多线程了解的不足,本文仅作为自我学习总结,如有不正确的地方欢迎大家批评指正。1. ReentrantLock由Java api,ReetrantLock是Lock接原创 2018-02-05 18:16:09 · 573 阅读 · 0 评论 -
多线程同步 (一)——synchronized关键字
之前在Java内存模型与多线程中介绍过,在并发编程中,非常重要的两个问题是:通信和同步。 本博客主要对如何使用synchronized关键字实现线程间同步问题的自我学习总结。1. 线程间的同步同步:是用于控制不同线程间操作发生相对顺序的机制。注:有两个词语“线程安全”和“非线程安全”,同步保障了线程安全。因为非线程安全的发生,就是由于在 线程的创建和启动中提到的线程因其与生俱来的“随机性”造成原创 2018-02-02 21:49:49 · 678 阅读 · 2 评论 -
多线程——线程的几种状态 (Java API版)
以前学习操作系统这门课程的时候,对线程状态的学习是比较粗略的,仅限于表面的了解,在后续学习和使用的过程中, 我发现自己之前的认知与Java api中定义的线程状态是有出入的,在使用过程中也会有很多误解, 所以按照java.lang.Thread.State中的详细定义和说明,进行了如下整理,作为自我总结和学习。根据Java api,Java中线程一共有如下6种状态,即NEW、RUNNABL原创 2018-01-31 17:44:58 · 1504 阅读 · 0 评论 -
多线程——join()、sleep()
Thread类的方法中有一个join()方法,它是普通的实例方法,根据Java api,该方法有如下三种形式:void join(): Waits for this thread to die.void join(long millis): Waits at most millis milliseconds for this thread to die.void join(long m原创 2018-02-02 18:18:38 · 887 阅读 · 0 评论 -
多线程——Thread类的常用方法
本博客主要针对Thread类的常用的方法进行介绍,包括:构造方法、静态方法和非静态方法,作为自我总结。1. Thread类的构造方法根据Java api,Thread类的构造方法共有8个:Thread()Thread(Runnable target)Thread(Runnable target, String name)Thread(String name)----------Thread(T原创 2018-01-30 22:23:46 · 3482 阅读 · 0 评论 -
多线程——interrupt(),interrupted()和isInterrupted()
停止线程是多线程中的一个技术点,Thread类的方法中,与停止线程有关的是: interrupt(),interrupted()和isInterrupted(), 仅从名字上看就能感受到区分它们是有难度的T.T,还有一个stop()方法,该方法因”unsafe”而被标记为”Deprecated”, 本博客主要是对这三个方法区别的介绍,不会涉及到被弃用的方法,希望在正确有效的停止线程的路上有一点原创 2018-02-01 15:01:04 · 711 阅读 · 0 评论 -
多线程——停止线程
停止线程是多线程中的一个技术点,在Thread类的方法中,与停止线程有关的有: interrupt(),interrupted()和isInterrupted(), 还有一个stop()方法,该方法因”unsafe”而被标记为”Deprecated”, 本博客是关于停止线程的探讨,不会涉及到被弃用的方法,作为自我学习总结。1. 判断线程是否是停止状态可以参考: 多线程——interr原创 2018-02-01 17:23:54 · 700 阅读 · 1 评论 -
多线程——start()和run()
继线程的创建和启动,这篇博文主要讨论一下start()和run()这两个方法。1. run()方法在线程的创建和启动的总结中有说过:根据java api,Thread类本身也是实现了Runnable接口,有:public class Thread extends Object implements Runnable现在来看一下Runnable接口,根据java api,Ru原创 2018-01-05 17:05:56 · 11189 阅读 · 1 评论 -
线程的创建和启动
Java里创建线程常见的且比较简单方式主要有下面两种:1. 继承Thread类,并且覆盖run()方法代码:创建10个线程,打印线程名字+Hello:/* * 通过继承Thread类来创建线程 */public class MyThread_thread extends Thread{ public void run(){ System.out.println(Threa原创 2018-01-05 13:44:05 · 1391 阅读 · 0 评论 -
线程和进程
1. 直观认知打开win10的任务管理器,点击“进程”,可以看到很多正在运行的进程:没错,操作系统会为运行的程序创建相应的进程,进程就是操作系统中运行的一个个可执行程序。而线程,是比进程更小的、可独立运行的子任务,一个线程里可以创建多个进程,比如在使用QQ时,我们可以一边听着音乐、一边下载文件、一边和朋友聊天等等,这些就是分别由音乐线程、文件下载线程和数据传原创 2018-01-05 14:13:39 · 258 阅读 · 0 评论 -
Java内存模型与多线程
继 Java虚拟机基础知识汇总 (二),在此基础上,进一步介绍Java的内存模型及其和并发编程的关系。在并发编程中,非常重要的两个问题是:线程间如何通信,通信是用于控制不同线程间信息交换的机制;线程间如何同步,同步是用于控制不同线程间操作发生相对顺序的机制。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 线程之间同步常用的方式有:使用Synchromized关键原创 2018-01-29 22:45:03 · 466 阅读 · 0 评论