![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 78
hahaxiaozhuanfeng
这个作者很懒,什么都没留下…
展开
-
线程池
1 为什么要用线程池? a 单个任务处理的时间很短而请求的数目却是巨大的。 b 每当一个请求到达就创建一个新线程,然后在新线程中为请求服务。 创建一个新线程的开销很大;服务器在创建和销毁线程上花费的时间 和消耗的系统资源要比花在处理实际的用户请求的时间和资源更多。 c 活动的线程也消耗系统资源。 2 线程池的优点翻译 2014-02-08 14:26:02 · 342 阅读 · 0 评论 -
Socket编程
--基本概念所谓网络编程,就是让计算机之间进行相互通讯数据。Java语言提供了一些相对简单的Api来完成这些通信工作,而Socket就是其中之一,它存在于java.net包中。网络编程的基本模型就是客户端到服务器模型。简单的说就是两个进程之间相互通,然后其中一个必须提供一个固定的位置,而另一个则只需要知道这个固定的位置,并去建立两者之间的联系,然后完成数据的转载 2014-02-07 16:14:28 · 464 阅读 · 0 评论 -
synchronized详解
1 当synchronized修饰某对象的方法时,当某个线程访问到此方法时,就会给对象加锁,其他线程就不能访问此对象了(此对象的所有方法)2 当static 与 synchronized 同时修饰方法时, 将这个方法所在的类的Class对象上锁。 无论一个类有多少个对象,这些对象会对应唯一一个Class对象, 因此当线程分别访问同一个类的两个对象的两个s转载 2014-02-27 14:34:50 · 373 阅读 · 0 评论 -
生产者与消费者
生产者与消费者模式:目的:优化系统性能。如从远程下载文件,并将这些文件解析。生产者:启一个或多个线程专门从事下载文件,下载ok的文件放进队列queue中。消费者:启一个或多个线程专门从事解析文件,从队列queue中拿文件解析。结构如图:每个线程做自己的事情,当要用到临界资源Queue时,各个线程抢占资源,一旦有一个线程访问Queue,就阻塞(lock)Queue,等原创 2014-02-07 16:48:20 · 628 阅读 · 0 评论 -
多线程高级的工具
java.util.concurrent中更高级的工具分成三类:Executor Framework并发集合(Concurrent Collection)同步器(Synchronizer)一、executor和task优先于线程:在Java 1.5 中提供了java.util.concurrent包,在这个包中包含了Executor Framework框架,转载 2014-03-11 14:51:42 · 618 阅读 · 0 评论 -
wait/sleep/yield的区别
首先,wait()和notify(),notifyAll()是Object类的方法,sleep()和yield()是Thread类的方法。(1).常用的wait方法有wait()和wait(long timeout): void wait() 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。 void wait(lon转载 2014-03-07 17:21:00 · 416 阅读 · 0 评论 -
Executor framework的机制
从java5开始,java就提供了名叫Executor framework的机制,主要是围绕着Executor接口, 它的接口 ExecutorService, 以及实现了这两个接口的ThreadPoolExecutor类来展开,这种机制把线程的执行和创建分离开了,你只需要创建一个线程,然后把线程丢给Executor,让它执行去吧。使用这个机制的另外一个好处是可以使用Callable接口,它类似于转载 2014-03-10 16:25:27 · 532 阅读 · 0 评论