JavaScript 线程 JavaScript 语言采用的是单线程模型,也就是说,所有任务只能在一个线程上完成,一次只能做一件事。前面的任务没做完,后面的任务只能等着。随着电脑计算能力的增强,尤其是多核 CPU 的出现,单线程带来很大的不便,无法充分发挥计算机的计算能力。 Web Worker 的 ...
分类:
其他好文 时间:
2020-07-22 15:55:24
阅读次数:
62
Java线程在运行的生命周期中可能处于表4-1所示的6种不同的状态,在给定的一个时刻,线程只能处于其中的一个状态。 表4-1 Java线程的状态 图4-1 Java线程状态变迁 文章:Java并发编程的艺术4.1.4 ...
分类:
编程语言 时间:
2020-07-22 15:42:48
阅读次数:
70
一般对于程序员来说,对io流的操作都不陌生,但是大部分程序员都仅限于对流的读写操作,字符流、字节流等等,下面这些问题你了解过吗? 说一下java中的io流 java中io流可以按照数据流的方向分为输入流和输出流;也可以按照处理数据单位不同分为字符流和字节流。 字符流:一次读入或写入16位二进制; 字 ...
分类:
编程语言 时间:
2020-07-22 11:36:04
阅读次数:
69
线程的通信 线程的状态 新建 就绪 运行 阻塞 死亡 通信涉及到三个方法 wait() 一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器 notify() 一旦执行此方法,就会唤醒被wait()的一个线程 如果有多个线程被wait,就唤醒优先级高的那个线程 线程之间没有优先级就随机唤醒 no ...
分类:
编程语言 时间:
2020-07-22 01:57:15
阅读次数:
72
线程的常用方法 start() 启动当前线程 调用当前线程的run()方法 run() 通常需要重写Thread类中的此方法 将创建的线程执行的操作声明在此方法中 currentThread() 静态方法 返回执行当前代码的线程 getName() 获取当前线程的名字 setName() 设置当前线 ...
分类:
编程语言 时间:
2020-07-21 22:52:32
阅读次数:
83
APR包 链接:https://pan.baidu.com/s/1lEP2YlqP7cJDG0ofRwRyog 提取码:nng4 一、三种运行模式介绍 Tomcat 有三种(bio,nio.apr) 运行模式,首先来简单介绍下 bio bio(blocking I/O),顾名思义,即阻塞式I/O操作 ...
分类:
其他好文 时间:
2020-07-21 14:02:42
阅读次数:
82
Queue(队列)接口 表示Collection的子接口,表示队列FIFO(First In First Out)先进先出 常用方法: ? 抛出异常: ? boolean add(E e) - 顺序添加一个元素(到达上限后,再添加则会抛出异常 ) ? E remove() - 获得第一个元素并移除( ...
分类:
其他好文 时间:
2020-07-20 22:36:41
阅读次数:
87
select语句让goroutine等待多个通信操作。 select会一直阻塞,直到其中一个case可以运行,然后执行那个case。如果有多个就绪,它就随机选择一个。 package main import "fmt" func fibonacci(c, quit chan int) { x, y ...
分类:
其他好文 时间:
2020-07-20 15:35:38
阅读次数:
64
无缓冲通道(阻塞通道) 写入后立即阻塞,需要另一个协程读取通道的数据后,才能继续执行。 通道操作符 ch <- v // Send v to channel ch. v := <-ch // Receive from ch, and // assign value to v. 无缓冲通道 ch := ...
分类:
其他好文 时间:
2020-07-20 15:23:45
阅读次数:
70
在Netty中 事务的处理都是放入自定义的Handler中的 如果某些业务比较耗时 最终也会阻塞线程 这时就需要任务队列来异步处理任务了。 1.用户自定义的普通任务 例: ctx.channel().eventLoop().execute(new Runnable() { @Override pub ...
分类:
Web程序 时间:
2020-07-20 10:56:39
阅读次数:
127