多线程
Lily@g
不积跬步,无以至千里,不积小流,无以成江海。
展开
-
多线程(三)---线程安全之Lock锁
首先对于synchronized和Lock锁我们首先应该知道 synchronized是自动锁而Lock锁是手动锁。 其次到底什么是自动锁,什么手动锁??? 自动锁:synchronized 不需要手动加锁和释放锁。 手动锁:Lock锁在调用是需要手动的进行加锁和释放锁,如果程序中发生异常也不会释放锁,所以lock锁释放都是写在finally中。 接下来看看lock锁的一些简单的使用: ...原创 2019-11-25 16:23:42 · 287 阅读 · 0 评论 -
多线程之wait与sleep区别
对于sleep()方法,我们首先应该知道该方法是属于Thread 类的,而wait()方法是属于Object类中的。 sleep()是让当前正在运行的线程暂停指定的时间长度,在调用sleep()方法时,当前线程让出cup执行权给其他线程进入等待状态但依旧是监听状态的保持者,不会释放锁资源,当指定的时间到了又恢复执行状态。 wait()也是让线程暂停的意思,但是和sleep()方法不同的是。当调...原创 2019-11-25 15:13:28 · 254 阅读 · 0 评论 -
synchronized与volatile 的区别
1.volatile使用轻量级的,只能修饰变量;synchronized比较重量级,既可以修饰 可以修饰方法。 2.volatile 只能保证数据的可见性,不能用来同步,因为多个线程并发访问volatile修饰的变量不会阻塞。 synchronized不仅保证可见性,而且还保证原子性,因为,只有获得了锁的线程才能进入临界区,从而保证临界区中的所有语句都全部执行。多个线程争抢synchroniz...原创 2019-11-22 09:37:32 · 189 阅读 · 0 评论 -
多线程(二)---线程安全之synchronized
想要解决问题首先要明确问题并正确的剖析问题。 首先明确:在什么情况下会出现线程安全问题? 答:在多个线程同时对一个全局变量或一个静态变量进行写操作时,会发生线程安全问题。而读操作是不会发生线程安全问题的。 那么怎么才解决多线程的安全问题。 1.使用synchronized 关键词。 synchronized 可以保证同一时刻只有一个线程访问某一方法或某个代码块,同时synchronize...原创 2019-11-22 09:15:42 · 109 阅读 · 0 评论 -
多线程(一)--线程创建
开发一些大型的分布式项目时,多线程的使用必不可少的,今天我们看一下,常见的几种多线程创建方法。 为什么要用多线程:使用多线程可以提高程序的执行效率 什么是线程:线程是进程中的一条执行路径。 什么是进程:进程是某一应用的线程集合。 注意:开启线程的是start方法而不是run方法 1.继承Thread类重写run 方法: pubilc class ThreadTest extends ...原创 2019-11-06 16:09:06 · 102 阅读 · 0 评论