多线程
liaomin416100569
这个作者很懒,什么都没留下…
展开
-
多线程的处理方式
一般数据量比较大表 不可能一次性取出然后再对他修改 这样有很大的性能问题可以通过多线程 父线程批量取出 子线程处理 子线程全部处理完成 父线程再去取 这样循环处理 好处在于 父线程可以控制子线程的数量也可以控制 批量取数的数量下面是一个短信发送的例子首先建立父线程也就是控制线程 package com.zte.ios.backprog.thread;imp原创 2010-01-15 18:30:00 · 817 阅读 · 0 评论 -
线程池(java.util.concurrent.ThreadPoolExecutor)的使用(一)
一、简介 线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为: ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit,BlockingQueue workQueue,RejectedExe转载 2010-04-21 09:35:00 · 892 阅读 · 0 评论 -
java.util.concurrent 多线程框架
JDK5中的一个亮点就是将Doug Lea的并发库引入到Java标准库中。Doug Lea确实是一个牛人,能教书,能出书,能编码,不过这在国外还是比较普遍的,而国内的教授们就相差太远了。 一般的服务器都需要线程池,比如Web、FTP等服务器,不过它们一般都自己实现了线程池,比如以前介绍过的Tomcat、Resin和Jetty等,现在有了JDK5,我们就没有必要重复造车轮了,直接使用就可以,何况使用转载 2010-04-21 10:00:00 · 728 阅读 · 0 评论 -
死锁的四个必要条件
操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能继续运行,否则就阻塞的情况。此时,若不借助外界因素,谁也不能释放资源,谁也不能解除阻塞状态。根据这样的情况,操作系统中的死锁被定义为系统中两个或者多个进程无限期地等待永远不会发生的条件,系统处于停滞状态,这就是死锁。产生死锁的原因主要是:(1)原创 2010-04-13 19:31:00 · 539 阅读 · 0 评论 -
什么事文件描述符
当某个程序打开文件时,操作系统返回相应的文件描述符,程序为了处理该文件必须引用此描述符。所谓的文件描述符是一个低级的正整数。最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。因此,函数 scanf() 使用 stdin,而函数 printf() 使用 stdout。你可以用不同的文件描述符改写默认的设置并重定向进程的 I/O转载 2010-03-26 09:03:00 · 668 阅读 · 0 评论 -
ServerSocketChannel的使用例子
1 // ==================== Program Discription =====================2 // 程序名称:示例12-14 : SocketChannelDemo.java3 // 程序目的:学习Java NIO#SocketChannel4 // ====================================================原创 2010-03-25 15:36:00 · 5102 阅读 · 1 评论 -
java中ServerSocketChannel原理 清晰明了
1 NIO介绍NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,假如没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。 Java NIO非堵塞技术实际是原创 2010-03-25 15:16:00 · 4751 阅读 · 2 评论 -
synchronized与lock区别
synchronized 修饰方法时 表示同一个对象在不同的线程中 表现为同步队列如果实例化不同的对象 那么synchronized就不会出现同步效果了比如Class Test{ public static User user=null; Public synchronized void add(User u){ user=u;原创 2010-01-11 09:15:00 · 4761 阅读 · 1 评论 -
java中io与nio的使用
地址 http://www.ibm.com/developerworks/cn/java/j-javaio/2002 年 3 月 12 日Java 技术平台早就应该提供非阻塞 I/O 机制了。幸运的是,Merlin(JDK 1.4)有一根几乎在各个场合都适用的魔杖,而解除阻塞了的 I/O 的阻塞状态正是这位魔术师的专长。软件工程师 Aruna Kalagnanam 和 Balu G转载 2010-03-25 14:22:00 · 911 阅读 · 0 评论 -
Thread 与Runable区别
Runnable是Thread的接口,在大多数情况下“推荐用接口的方式”生成线程,因为接口可以实现多继承,况且Runnable只有一个run方法,很适合继承。 Thread本身就是实现了Runable接口 在使用Thread的时候只需要new一个实例出来,调用start()方法即可以启动一个线程。 Thread Test = new Thread(); Test.start(); 在使用R原创 2010-01-18 15:50:00 · 1835 阅读 · 0 评论 -
并发与并行
1并发当有1个以上的线程在操作时 若计算机只有一个中央处理器时 根本不可能进行一个同时进行一个以上的处理 如果两个线程同时运行实际上 运行效果是这样的 线程1稍微运行一下 停止线程2稍微运行一下 停止 线程1稍微运行一下 停止线程2稍微运行一下 停止这样循环 处理 直道两个线程运行完成 事实上程序的这种处理像这样不断的切换有原创 2010-01-18 15:35:00 · 600 阅读 · 0 评论 -
Dameon Thread是什么
daemon thread 名称为守护线程 Daemon thread 在Java里面的定义是守护线程,如果虚拟机中只有Daemon thread 在运行,则虚拟机退出。 虚拟机中可能会同时有很多个线程在运行,只有当所有的非守护线程都结束的时候,虚拟机的进程才会结束,不管在运行的线程是不是 main() 线程。 class A原创 2010-01-18 15:46:00 · 764 阅读 · 0 评论 -
NIO系列之MINA
一。MINA架构 Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的APIMINA是应用程序(服务端和客户端)和网络层间(TCP UDP 内存通信)的桥梁深入mina内部架构mina分为以下三层: IOService 用于接受连接 处理io请求 IOFilterCh...原创 2018-03-08 14:34:14 · 376 阅读 · 0 评论