`

阅览记录

 
阅读更多

 

2012/10/27

 

2012/10/28

        至于HttpProtocolParams.setUserAgent方法的字符串参数怎么写:

 

2012/10/29

  • Java多线程协作(wait、notify、 notifyAll) 
  • 写道
    请注意以下几个事实:
    1. 任何一个时刻,对象的控制权(monitor)只能被一个线程拥有。
    2. 无论是执行对象的wait、notify还是notifyAll方法,必须保证当前运行的线程取得了该对象的控制权(monitor)。
    3. 如果在没有控制权的线程里执行对象的以上三种方法,就会报java.lang.IllegalMonitorStateException异常。
    4. JVM基于多线程,默认情况下不能保证运行时线程的时序性。
  • 写道
    要让一个线程进入某个对象的监视器,通常有三种方法:
    1: 执行对象的某个同步实例方法
    2: 执行对象对应的同步静态方法
    3: 执行对该对象加同步锁的同步块

注意理解文章提供的“吃汉堡大赛”例程。

 

 

ThreadGroup:

  • ThreadGroup 使用 讲解了ThreadGroup的enumerate方法、uncaughtException方法;
  • CountDownLatch 与 CyclicBarrier 区分 一篇不错的文章 
  • 写道
    1.CountDownLatch减计数,CyclicBarrier加计数。
    2.CountDownLatch是一次性的,CyclicBarrier可以重用。
    3.CountDownLatch强调一个线程等多个线程完成某件事情。CyclicBarrier是多个线程互等,等大家都完成。
     “5人赛跑”例程
  • java.util.concurrent 用法实例详解 

    写道
    java.util.concurrent包分成了三个部分,分别是java.util.concurrent、java.util.concurrent.atomic和java.util.concurrent.lock。内容涵盖了并发集合类、线程池机制、同步互斥机制、线程安全的变量更新工具类、锁等等常用工具。它的引入大大简化了多线程程序的开发。
    Executors--通过这个类能够获得多种线程池的实例
    Lock--提供了很多synchronized所没有的功能,例如尝试获得锁(tryLock())。
    Conditon--则代替了Object对象上的wait()、notify()和notifyAll()方法(Condition中提供了await()、signal()和signalAll()方法),当满足运行条件前挂起线程。Lock/Condition是搭配使用的。
    并发集合类。
    AtomicInteger--java.util.concurrent.atomic为我们提供了很多工具类,可以以原子方式更新变量。
    CountDownLatch--一次性的同步辅助工具,允许一个或多个线程一直等待,直到计数器值变为0。如果需要重置计数器,可以使用CyclicBarrier。

     没细看

  • ThreadGroup其实比ExecutorService更好 

    写道
    ThreadGroup有很多优势,最重要的一点就是它可以对线程进行遍历,知道那些线程已经运行完毕,还有那些线程在运行。

    47 Thread thrds[] = new Thread[tg.activeCount()];
    48 tg.enumerate(thrds);
    49 for (Thread t : thrds)
    50 System.out.println(t.getName());

    57 tg.interrupt();
  • java.lang.ThreadGroup 重载了ThreadGroup类,真心流弊
  • Java多线程设计模式 这是对这本书的笔记,看起来书写的很好,太长了,mark下回头细看。
 
2012/10/31
  • http://yueliangdao0608.blog.51cto.com/397025/304996 查mysql的limit语法时看到了这个博客,优化后性能的提升令我惊奇,好像是利用mysql的中间缓存的表。他的博客里好像还有其他mysql优化的文章,先mark一下,有时间好好学习。

2012/11/5

2012/11/7

  • Timer 定时器和定时器任务
  • java 多线程之 interrupt(转)
    写道
    在java中,线程的中断(interrupt)只是改变了线程的中断状态,至于这个中断状态改变后带来的结果,那是无法确定的,有时它更是让停止中的线程继续执行的唯一手段.不但不是让线程停止运行,反而是继续执行线程的手段.
      

11/28

 

 

2013/2/24

写道
传统的服务器端 / 客户端模式通常为每一个客户端创建一个独立的线程,这种实现方式对于类似于铁路网络订票这样的瞬间客户数量巨大的系统来说,效率极端低下。这是因为一方面创建新线程操作系统开销较大,另一方面同时有许多线程处于运行状态,操作系统内核需要花费大量时间进行上下文切换,并没有在线程执行上花更多的时间。
简单的说,IOCP 是一种高性能的 I/O 模型,是一种应用程序使用线程池处理异步 I/O 请求的机制。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics