
网络与多线程
文章平均质量分 83
小飞鹤
这个作者很懒,什么都没留下…
展开
-
使用Socket创建带连接池的多线程文件传输服务器和客户端实例
1.创建带连接池的多线程文件传输服务器和客户端. 介绍我们现在已经拥有的 MultithreadedServer 每当有客户机申请一个连接时都在一个新 Thread 中创建一个新 ConnectionHandler。这意味着可能有一捆 Thread “躺”在我们周围。而且创建 Thread 的系统开销并不是微不足道的。如果性能成为了问题(也请不要事到临头才意识到它),更高效原创 2015-08-14 10:41:54 · 3917 阅读 · 0 评论 -
Java中的多线程总结
本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。首先讲一下进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。 线程和进程一样分转载 2016-01-28 17:52:27 · 1105 阅读 · 0 评论 -
多线程笔记
1.线程的状态: 新建状态 新创建了一个线程对象 就绪状态 现场对象创建后,其他线程调用了该对象的start()方法, 该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权 运行状态 就绪状态的线程获取了CPU使用权,这个脑子执行程序代码 阻塞状态原创 2016-04-15 18:21:52 · 3312 阅读 · 0 评论 -
理解线程池的原理
线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键问题,其实这就是一些”池化资源”技术产生的原转载 2016-09-18 17:45:31 · 24219 阅读 · 4 评论 -
高并发基础之Java并发包
在[高并发Java 二] 多线程基础中,我们已经初步提到了基本的线程同步操作。这次要提到的是在并发包中的同步控制工具。1. 各种同步控制工具的使用1.1 ReentrantLock ReentrantLock感觉上是synchronized的增强版,synchronized的特点是使用简单,一切交给JVM去处理,但是功能上是比较薄弱的。在JDK1.5之前,ReentrantLo转载 2016-10-11 16:13:08 · 25564 阅读 · 0 评论 -
LinkedBlockingQueue原理分析---基于JDK8
1.常用的阻塞队列 1)ArrayBlockingQueue:规定大小的BlockingQueue,其构造函数必须带一个int参数来指明其大小.其所含的对象是以FIFO(先入先出)顺序排序的.2)LinkedBlockingQueue:大小不定的BlockingQueue,若其构造函数带一个规定大小的参数,生成的BlockingQueue有大小限制,若不带大小参数,所生成的Bl原创 2018-01-26 16:06:02 · 1504 阅读 · 0 评论