Java并发
天涯屐痕
这个作者很懒,什么都没留下…
展开
-
Java并发编程--视频总结 02
线程的基本操作新建线程两种方式:向Thread类构造函数传递一个Runnable,或者直接重写Thread中的run方法(包括继承重写)。调用Thread类的start方法开始执行一个线程的任务。示例:package day_3_8;public class ThreadCreation { public static void main(String[] args) {...原创 2019-03-08 21:31:54 · 174 阅读 · 0 评论 -
Java并发编程--视频总结 03
原子性原子性是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其它线程干扰。有序性一条指令的执行是可以分为很多步骤的,有时java虚拟机为了提高程序运行的性能会对指令重排序,有序性就是指程序按照它编写的顺序执行,不发生重排序现象。如果在本线程内观察,所有操作都是有序的;如果在一个线程中观察另一个线程,所有操作都是无序的。写操作顺序:– 取指 IF...原创 2019-03-10 13:09:43 · 107 阅读 · 0 评论 -
Java并发编程--视频总结 01
几个重要的概念同步(synchronous)和异步(asynchronous)同步和异步通常用来形容一次方法调用。同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。 异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而且异步方法通常会在另外一个线程中,“真实”地执行着。整个过程,不会阻碍调用者的工作。并发(Conc...原创 2019-03-07 21:09:46 · 266 阅读 · 0 评论 -
Java并发编程--视频总结 07
转自:https://blog.csdn.net/hutongling/article/details/70917107https://blog.csdn.net/gududedabai/article/details/808292231. 什么是设计模式在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题 ,所提出的解决方案。这个术语...转载 2019-03-15 17:14:18 · 106 阅读 · 0 评论 -
Java并发编程--视频总结 08
转自:https://my.oschina.net/hosee/blog/615269IO感觉上和多线程并没有多大关系,但是NIO改变了线程在应用层面使用的方式,也解决了一些实际的困难。而AIO是异步IO和前面的系列也有点关系。在此,为了学习和记录,也写一篇文章来介绍NIO和AIO。1. 什么是NIONIO是New I/O的简称,与旧式的基于流的I/O方法相对,从名字看,它表示新的...转载 2019-03-15 17:30:40 · 214 阅读 · 0 评论 -
Java并发编程--视频总结 09
转自:http://www.importnew.com/21353.html1. 锁优化的思路和方法在高并发Java(1):前言中有提到并发的级别。一旦用到锁,就说明这是阻塞式的,所以在并发度上一般来说都会比无锁的情况低一点。这里提到的锁优化,是指在阻塞式的情况下,如何让性能不要变得太差。但是再怎么优化,一般来说性能都会比无锁的情况差一点。这里要注意的是,在高并发Java(...转载 2019-03-15 17:43:51 · 121 阅读 · 0 评论 -
Java并发编程--视频总结 10
转自:https://blog.csdn.net/dataiyangu/article/details/87631574#_1多线程调试的方法使用Eclipse进行多线程调试看如下一段代码:public class UnsafeArrayList { static ArrayList al=new ArrayList(); static class AddTask imp...转载 2019-03-15 17:57:51 · 304 阅读 · 0 评论 -
Java并发编程--视频总结 04
无锁类的原理详解CASCAS算法的过程是这样:它包含3个参数CAS(V,E,N)。V表示要更新的变量,E表示预期值,N表示新值。仅当V值等于E值时,才会将V的值设为N,如果V值和E值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。最后,CAS返回当前V的真实值。CAS操作是抱着乐观的态度进行的,它总是认为自己可以成功完成操作。当多个线程同时使用CAS操作一个变量时,只有一个会...转载 2019-03-12 14:34:57 · 105 阅读 · 0 评论 -
Java并发编程--视频总结 06
转自:https://blog.csdn.net/fanzhigang0/article/details/716431451. 线程池的基本使用1.1.为什么需要线程池平时的业务中,如果要使用多线程,那么我们会在业务开始前创建线程,业务结束后,销毁线程。但是对于业务来说,线程的创建和销毁是与业务本身无关的,只关心线程所执行的任务。因此希望把尽可能多的cpu用在执行任务上面,而不是用在与...转载 2019-03-13 16:07:05 · 133 阅读 · 0 评论