IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待 ...
分类:
编程语言 时间:
2019-10-23 11:17:19
阅读次数:
85
Thread对象的其他属性或方法 介绍 验证 执行结果 主线程等待子线程结束 执行结果 ...
分类:
其他好文 时间:
2019-10-13 10:46:48
阅读次数:
65
CountDownLatch是一个多线程控制工具类。可以实现计数器的功能。 CountDownLatch的两种应用场景:(不能实现多个线程顺序执行!) 1. 让某线程等待其他线程执行完毕,再开始执行; 2. 让多个线程同时开始并行执行; 构造器: 主要方法: 第一种场景: 让某线程,等待n个线程执行 ...
分类:
其他好文 时间:
2019-10-12 14:42:48
阅读次数:
90
接上一篇文章,https://www.cnblogs.com/liumy/p/11633065.html wait方法是让当前线程等待,这里的当前线程不是指t,而是主线程。 wait会释放锁,等到其他线程调用notify方法时再继续运行。 可以看下面的例子。 下面是执行结果。 可以看到synchro ...
分类:
编程语言 时间:
2019-10-08 22:17:43
阅读次数:
166
public static void main(String[] args) throws InterruptedException { // Runtime.getRuntime().availableProcessors() 获取可用的cpu数量 int count = Runtime.getR... ...
分类:
编程语言 时间:
2019-10-08 12:35:00
阅读次数:
162
CountDownLatch是一种灵活的闭锁实现。它可以使一个或多个线程等待一组事件的发生。 闭锁状态包括一个计数器,该计数器被初始化为一个正数,表示需要等待的事件的数量。countDown()方法递减计数器,表示有一个事件已经发生,而await方法等待计数器达到零,表示所有需要等待的事件都已经发生 ...
分类:
其他好文 时间:
2019-09-28 14:47:49
阅读次数:
94
网络编程之多线程——Thread对象的其他属性或方法 Thread对象的其他属性或方法 介绍 验证 执行结果 主线程等待子线程结束 执行结果 ...
分类:
编程语言 时间:
2019-09-26 12:01:59
阅读次数:
123
异步与同步模型最大的区别是,同步模型会阻塞线程等待资源,而异步模型不会阻塞线程,它是等资源准备好后,再通知业务代码来完成后续的资源处理逻 辑。这种异步设计的方法,可以很好地解决IO等待的问题。 我们开发的绝大多数业务系统,它都是IO密集型系统。跟IO密集型系统相对的另一种系统叫计算密集型系 统。通过 ...
分类:
其他好文 时间:
2019-09-25 00:55:00
阅读次数:
92
CountDownLatch 1. CountDownLatch 允许一个或多个线程等待其他线程完成操作。 2. CountDownLatch 可以替代 join 的作用,并提供了更丰富的用法。 3. CountDownLatch 的 countDown 方法,N 会减1;CountDownLatc ...
分类:
编程语言 时间:
2019-09-13 10:56:29
阅读次数:
100
当主程序启动时,首先创建ManualResetEventSlim 类的一个实例。然后启动三个线程,等待事件信号通知它们继续执行。 线程只有在ManualResetEventSlim 对象发出信号才能继续执行,不然只有继续等待,直到接接收到信号。 ...
分类:
编程语言 时间:
2019-09-05 01:15:26
阅读次数:
128