![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
small camel
这个作者很懒,什么都没留下…
展开
-
多线程-创建线程的三种方式
创建线程的三种方式:1、实现Runnable接口通过实现Runnable接口创建并启动线程一般步骤如下:(1)、定义Runnable接口的实现类,一样要重写run()方法,这个run()方法和Thread中的run()方法一样是线程的执行体(2)、创建Runnable实现类的实例,并用这个实例作为Thread的target来创建Thread对象,这个Thread对象才是真正的线程对象(3...原创 2019-03-30 14:42:19 · 106 阅读 · 0 评论 -
多线程的 join()方法简单应用
通过join方法可以使线程按照一定顺序执行。作用:join()方法的作用是等待线程对象销毁。join()方法具有能使线程排队运行的作用,有点类似于同步的效果。join()除了无参方法之外,还重载了join(毫秒)的方法,此方法与sleep(毫秒)的区别是:(1)、 join()操作底层用wait()来实现,可以释放锁。( 2)、 sleep()不会释放锁。join与synchroni...原创 2019-03-30 15:05:31 · 182 阅读 · 1 评论 -
通过synchronized关键字解决赋值取值时出现的脏读情况
在学习多线程的时候看到脏读这个概念,同过翻看书籍了解到一些基本小知识,虽然在赋值的时候进行了同步处理,可在取值的时候可能会出现值被更改的情况,也就是所谓的脏读。解释起来可能不太明白,直接看代码:package mythread;public class Login { private String username; private String password; ...原创 2019-04-02 11:29:40 · 368 阅读 · 1 评论