1 线程同步 1.1 线程安全 java允许多线程并发控制,当多个线程同时操作一个可共享资源变量时(如对其进行增删改查操作),会导致数据不准确,而且相互之间产生冲突。所以加入同步锁以避免该线程在没有操作完共享资源前其他线程操作共享资源,从而保证该变量的唯一性和准确性。 不同步会发生什么问题?在介绍同 ...
分类:
编程语言 时间:
2019-03-18 11:46:34
阅读次数:
172
一、什么是IO密集型任务? 主要的核心任务是进行IO操作,比如写文件,进行磁盘的读写等等。 上一篇博客,对计算密集型任务,多线程并没有体现它的好处,反而话费的时间更长。对IO密集型任务多线程会有明显的优势 二、举例: 任务:爬取韩寒的博客 1、获取urls, 2、根据文章的url,爬取内容,保存文件 ...
分类:
编程语言 时间:
2019-03-17 23:30:03
阅读次数:
208
一.介绍 Task是.NetFramework3.0出现的,线程是基于线程池,然后提供了丰富的API. 先用AverageAssign方法把一组数据平均分成n组,再通过遍历n组数据,循环开Task多线程。 二.平均分组方法 三.Task ...
分类:
编程语言 时间:
2019-03-04 09:45:31
阅读次数:
187
ThreadLocal ThreadLocal将代码修改一下~ ...
分类:
编程语言 时间:
2019-01-12 13:25:00
阅读次数:
151
一、单线程 js作为浏览器脚本语言,他的主要用途是与用户交互,以及操作DOM,这决定了它只能是单线程,为什么呢?因为假如js同时有两个线程,一个线程是在DOM上增加内容,另一个线程是删除这个节点,那么这时候浏览器应该以哪个线程为主呢?所以为了避免复杂性,js的核心特性就是单线程。 二、任务队列 单线 ...
分类:
编程语言 时间:
2019-01-04 14:47:38
阅读次数:
215
package cn.sasa.demo2; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Test { public static void main... ...
分类:
编程语言 时间:
2018-12-27 18:59:57
阅读次数:
212
一、进程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程。进程是很多资源的集合。一个进程可以有多个线程,线程是包含在一个进程里面的,一个进程里面默认有一个线程 二、线程(T ...
分类:
编程语言 时间:
2018-12-24 16:33:24
阅读次数:
199
目录 一、什么是线程 二、开启线程的两种方式 三、多线程与多进程的区别 四、守护线程 一、什么是线程 1.1 概念 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈) ...
分类:
编程语言 时间:
2018-12-22 23:20:56
阅读次数:
239
1.继承Thread类创建线程 2.实现Runnable接口创建线程 3.使用Callable和Future创建线程 ...
分类:
编程语言 时间:
2018-12-18 02:12:34
阅读次数:
162
善于思考,拥抱变化,才能拥有未来 一、Threads 和 Runnables 运行结果为: Hello main Done! Hello Thread-0 或者: Hello main Hello Thread-0 Done! 二、ExecutorService 1. newSingleThread ...
分类:
编程语言 时间:
2018-12-17 02:22:57
阅读次数:
155