每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。 线程是程序中一个单一的顺序控制流程,在单个程序中同时运行多个线程完成不同的工作,称为多线程。 Ruby 中我们可以通过 Thread 类来创建多线程,Ruby的线程是一个轻量级的,可以以高效的方式来实现并行的代码。 创建 Ruby 线 ...
分类:
编程语言 时间:
2020-05-23 18:40:49
阅读次数:
48
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步: 前端修改 由于项目使用的是BJUI前端框架,并没有使用框架本身的文件上传控件,而使用的基于jQuery的Uploadify文件 ...
分类:
编程语言 时间:
2020-05-23 18:38:25
阅读次数:
118
1. 使用wait/notifyAll 实现 ...
分类:
编程语言 时间:
2020-05-23 18:30:03
阅读次数:
50
一. 介绍 平时工作中可能会碰到排查多线程的bug,而在排查的时候,如果线程(单个线程或者是线程池的线程)没有一个比较明确的名称,那么在排查的时候就比较头疼,因为排查问题首先需要找出“问题线程”,如果连“问题线程”都找不到,就很难找出问题原因,本文就针对多线程中涉及到的线程池、线程组、线程名称,介绍 ...
分类:
编程语言 时间:
2020-05-23 18:21:00
阅读次数:
46
1、什么是JUC JUC大家可能听说过,它实际上 Java 提供的用于并发处理的工具包。如官方文档所示: 回顾以前 在以前的业务中,我们使用的代码: 1、Thread 2、Runnable:没有返回值、无法抛出异常、效率相比 Callable 较低! 3、Callable 4、还有Locked锁 这 ...
分类:
编程语言 时间:
2020-05-23 18:20:08
阅读次数:
51
一、Volatile 一段代码引发的思考,下面这段代码,演示了一个使用 volatile 以及没使用volatile 这个关键字,对于变量更新的影响 public class VolatileDemo { public volatile static boolean stop = false; pu ...
分类:
编程语言 时间:
2020-05-23 18:08:59
阅读次数:
48
ThreadLocal: 每个线程只能修改本线程在ThreadLocal中的值,各个线程之间互不干扰。 ...
分类:
编程语言 时间:
2020-05-23 18:04:53
阅读次数:
42
核心原理: 该项目核心就是文件分块上传。前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题。 * 如何分片; * 如何合成一个文件; * 中断了从哪个分片开始。 如何分,利用强大的js库,来减轻我们的工作,市场上已经能有关于大文件分块的轮子,虽然程序员的天 ...
分类:
编程语言 时间:
2020-05-23 16:14:01
阅读次数:
77
这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得出来,实体类中已经有很多我们需要的功能了,还有实用的属性。如MD5秒传的信息。 首先是文件数据接收逻 ...
分类:
编程语言 时间:
2020-05-23 14:51:56
阅读次数:
56
1. 页面上2秒执行一次任务: setInterval(function(){ //执行任务 },2000); //取消执行 clearInterval(); 2.延时执行: JS都是延时执行的,没有多线程概念,碰到要使用全局变量的时候,要使用递归来实现全局变量数值变化! 3.页面上只执行一次任务: ...
分类:
Web程序 时间:
2020-05-23 09:34:51
阅读次数:
60