论坛首页 Java企业应用论坛

java多线程小结,及解决应用挂死的问题

浏览 31178 次
精华帖 (2) :: 良好帖 (9) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-01-30  
好长,不错的说
0 请登录后投票
   发表时间:2012-01-31  
非常不错,澄清了几个点。线程包含2个方面,线程的调度和线程的同步,线程的同步主要在于两个点,线程通信的原子性和顺序性。
0 请登录后投票
   发表时间:2012-01-31  
jiasanshou 写道
非常不错,澄清了几个点。线程包含2个方面,线程的调度和线程的同步,线程的同步主要在于两个点,线程通信的原子性和顺序性。

同步包括三点:原子性,有序性和可见性。
0 请登录后投票
   发表时间:2012-01-31  
看lz的帖子讲到线程状态,貌似和Thread中的线程状态不一一吻合,不太清楚lz讲的状态是否有其他含义?
public enum State {
        /**
         * Thread state for a thread which has not yet started.
         */
        NEW,
        
        /**
         * Thread state for a runnable thread.  A thread in the runnable
         * state is executing in the Java virtual machine but it may
         * be waiting for other resources from the operating system
         * such as processor.
         */
        RUNNABLE,
        
        /**
         * Thread state for a thread blocked waiting for a monitor lock.
         * A thread in the blocked state is waiting for a monitor lock
         * to enter a synchronized block/method or 
         * reenter a synchronized block/method after calling
         * {@link Object#wait() Object.wait}.
         */
        BLOCKED,
    
        /**
         * Thread state for a waiting thread.
         * A thread is in the waiting state due to calling one of the 
         * following methods:
         * <ul>
         *   <li>{@link Object#wait() Object.wait} with no timeout</li>
         *   <li>{@link #join() Thread.join} with no timeout</li>
         *   <li>{@link LockSupport#park() LockSupport.park}</li>
         * </ul>
         * 
         * <p>A thread in the waiting state is waiting for another thread to
         * perform a particular action.  
         *
         * For example, a thread that has called <tt>Object.wait()</tt>
         * on an object is waiting for another thread to call 
         * <tt>Object.notify()</tt> or <tt>Object.notifyAll()</tt> on 
         * that object. A thread that has called <tt>Thread.join()</tt> 
         * is waiting for a specified thread to terminate.
         */
        WAITING,
        
        /**
         * Thread state for a waiting thread with a specified waiting time.
         * A thread is in the timed waiting state due to calling one of 
         * the following methods with a specified positive waiting time:
         * <ul>
         *   <li>{@link #sleep Thread.sleep}</li>
         *   <li>{@link Object#wait(long) Object.wait} with timeout</li>
         *   <li>{@link #join(long) Thread.join} with timeout</li>
         *   <li>{@link LockSupport#parkNanos LockSupport.parkNanos}</li> 
         *   <li>{@link LockSupport#parkUntil LockSupport.parkUntil}</li>
         * </ul>
         */
        TIMED_WAITING,

        /**
         * Thread state for a terminated thread.
         * The thread has completed execution.
         */
        TERMINATED;
    }
0 请登录后投票
   发表时间:2012-01-31  
不错,非常感谢分享
0 请登录后投票
   发表时间:2012-02-01  
不错,理解还是挺不错的,支持原创。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics