//操作系统可以产生多个进程,每个进程也可以产生多个线程 1.线程 //"主线程”是main线程 //线程有4种状态:新建、运行、中断、死亡 (1)新建: ①通过继承Thread类创建: 需要重写Thread类的run()方法; //优点:可以在子类中增加新的成员变量和方法,使线程具有某种属性和功能 ...
分类:
编程语言 时间:
2018-07-30 14:52:39
阅读次数:
263
进程(线程)同步的基本概念 进程之间的制约关系 1. 直接制约关系(进程同步) 这个关系主要源于进程合作,例如,有一个输入进程A通过单缓冲向进程B提供数据,当该缓冲空时,进程B因为不能获得所需数据而被阻塞,A将数据送入缓冲区时边将B唤醒。 2. 间接制约关系(进程互斥) 这种关系主要源于资源共享,比 ...
分类:
编程语言 时间:
2018-07-30 00:31:44
阅读次数:
172
前言 对于Java多线程,接触最多的莫过于使用synchronized,这个简单易懂,但是这synchronized并非性能最优的。今天我就简单介绍一下几种锁。可能我下面讲的时候其实很多东西不会特别深刻,最好的方式是自己做实验,把各种场景在代码中实验一下,这样发发现很多细节。 volatile 作为 ...
分类:
编程语言 时间:
2018-07-29 18:55:57
阅读次数:
148
Java多线程编程-(1)-线程安全和锁Synchronized概念 Java多线程编程-(2)-可重入锁以及Synchronized的其他基本特性 Java多线程编程-(3)-从一个错误的双重校验锁代码谈一下volatile关键字 Java多线程编程-(4)-线程本地ThreadLocal的介绍与 ...
分类:
编程语言 时间:
2018-07-28 16:42:19
阅读次数:
197
原文出处: Pankaj 译文出处:ifeve 郑旭东 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题 ...
分类:
编程语言 时间:
2018-07-26 18:50:26
阅读次数:
224
this引用逃逸问题实则是Java多线程中需要注意的问题 1、什么是This逃逸? 在构造器构造还未彻底完成前(即实例初始化阶段还未完成),将自身this引用向外抛出并被其他线程复制(访问)了该引用,可能会问到该还未被初始化的变量,甚至可能会造成更大严重的问题。 废话不多说,看一下代码 输出结果:这 ...
分类:
其他好文 时间:
2018-07-26 00:23:26
阅读次数:
272
1、说说进程,线程,协程之间的区别简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程.进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高.线程是进程的一个实体,是cpu调度和分派的基本单位,是比程序更小的能独立运行的基本单位.同一进程中的多个线程之间可以并发执行.2、你了解守护线程吗?它和非守护线程有什么区别程序运行完毕
分类:
编程语言 时间:
2018-07-25 12:45:29
阅读次数:
216
多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的。 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括: Java线程具 ...
分类:
编程语言 时间:
2018-07-24 15:59:49
阅读次数:
172
多线程 基本概念 每个运行的程序就是一个进程,当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个进程。 进程的特性: 独立性:每一个进程都拥有自己的私有地址空间。在没有经过进程本身允许的情况下,一个用户进程不可以直接访问其他进程的地址空间。 动态性:程序只是一个静态的指令集合,而 ...
分类:
编程语言 时间:
2018-07-22 00:09:43
阅读次数:
200
ExecutorService 接口继承了 Executor 接口,是 Executor 的子接口。 Executor 接口定义了 execute()方法用来接收一个Runnable接口的对象,而 ExecutorService 接口中的 submit()方法可以接受Runnable和Callabl ...
分类:
其他好文 时间:
2018-07-21 15:03:03
阅读次数:
123