从从参加工作到现在,已经接近三年了。在这不长不短的时间里,我的职业规划犹如正余弦函数一样变化,一直游离在前端和后端之间。 第一年入职,被安排维护和拓展一套基于JAVA实现的地图瓦片生产工艺程序,不算复杂,基本上也涉及到了一些JAVA的特性,例如文件IO、多线程处理文件、Servlet实现、RPC等等 ...
分类:
其他好文 时间:
2020-05-10 00:55:12
阅读次数:
117
基本介绍 1) Java 的 NIO, 用非阻塞的 IO 方式。 可以用一个线程, 处理多个的客户端连接, 就会使用到 Selector(选择器)2) Selector 能够检测多个注册的通道上是否有事件发生(注意:多个 Channel 以事件的方式可以注册到同一个Selector), 如果有事件发 ...
分类:
其他好文 时间:
2020-05-04 00:41:47
阅读次数:
77
1.数据拆分多线程Callable处理 1.定义一个20大小的线程池2.根据数据 List 处理每个线程可以分到的数量List3.Callable 线程处理数据4.Future 获取Callcable线程处理后的数据5.把 Future 获取的数据重新 addAll 进 List6.返回数据 代码如 ...
分类:
编程语言 时间:
2020-04-28 13:18:48
阅读次数:
66
Web Worker让JS有了多线程的能力,可以将复杂耗时的操作都交付给Worker线程处理。WebSocket让web端与服务端维持一个有效的长连接,实现服务端主动推送数据。将二者一结合,业务系统信息流转通知功能完全就可以剥离出来。 架构图 JS Worker Worker工作在一个专用的作用域D ...
分类:
Web程序 时间:
2020-04-25 12:56:29
阅读次数:
80
自定义windows消息 #define MY_MSG (WM_USER+1) //为了防止用户自定义消息ID与系统消息ID冲突,用户只能定义WM_USER(0x0400)以后的ID使用 PostThreadMessage 将一个队列消息放入(寄送)到指定线程的消息队列里,不等待线程处理消息就返回 ...
分类:
编程语言 时间:
2020-04-19 10:41:45
阅读次数:
70
IO 阻塞IO 特点 每个请求开启一个线程 线程开启,如果当前线程没有数据可读,线程阻塞在read NIO 同步阻塞IO 特点 一个线程并发处理多个写读 空闲线程处理其他通道IO操作 AIO NIO2,异步阻塞IO。 应用操作之后直接返回,不阻塞,后台处理完,操作系统通知相应线程进行后续操作。AIO ...
分类:
其他好文 时间:
2020-04-07 22:35:58
阅读次数:
95
1.在Tomcat服务中一个用户请求都是一个线程 所以使用线程池提高性能 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后创建线程后自动这些任务,线程池线程都是后台线程,每个线程都是用默认的堆栈大小。 什么情况下使用线程池 单个任务处理时间短 将需处理的任务数量大 2.Tomcat优化 ...
分类:
编程语言 时间:
2020-04-06 13:53:19
阅读次数:
72
等待唤醒机制 1.1 线程间通信 概念: 多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。 比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。 为什么要处理线程间通信: ...
分类:
编程语言 时间:
2020-04-05 00:34:54
阅读次数:
73
等待唤醒机制 1.1 线程间通信 概念: 多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。 比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。 为什么要处理线程间通信: ...
分类:
其他好文 时间:
2020-04-03 23:58:58
阅读次数:
115
本文源码:GitHub·点这里||GitEE·点这里一、并发问题多线程学习的时候,要面对的第一个复杂问题就是,并发模式下变量的访问,如果不理清楚内在流程和原因,经常会出现这样一个问题:线程处理后的变量值不是自己想要的,可能还会一脸懵的说:这不合逻辑吧?1、成员变量访问多个线程访问类的成员变量,可能会带来各种问题。publicclassAccessVar01{publicstaticvoidmain
分类:
编程语言 时间:
2020-03-30 00:22:20
阅读次数:
83