一般来说,主方法main()结束的时候线程结束


suspend()是将一个运行时状态进入阻塞状态(注意不释放锁标记)。恢复状态的时候用resume()。Stop()指释放全部。

这几个方法上都有Deprecated标志,说明这个方法不推荐使用。

 

一般来说,主方法main()结束的时候线程结束,可是也可能出现需要中断线程的情况。对于多线程一般每个线程都是一个循环,如果中断线程我们必须想办法使其退出。

 

如果主方法main()想结束阻塞中的线程(比如sleep或wait)

那么我们可以从其他进程对线程对象调用interrupt()。用于对阻塞(或锁池)会抛出例外Interrupted Exception。

这个例外会使线程中断并执行catch中代码。

 

多线程中的重点:实现多线程的两种方式,Synchronized,以及生产者和消费者问题(ProducerConsumer.java文件)。

 

 1 package TomTexts;
 2 
 3 import java.util.*;
 4     class Counter { 
 5           int i = 1; 
 6           public String toString() { 
 7                 return Integer.toString(i); 
 8           }
 9         }
10         class TomTexts_23 {
11           public static void main(String[] args) {
12                 Hashtable ht = new Hashtable();
13                 for(int i = 0; i < 10000; i++) {
14                       // Produce a number between 0 and 20:
15                       Integer r = new Integer((int)(Math.random() * 20));
16                   if(ht.containsKey(r))
17                         ((Counter)ht.get(r)).i++;
18                   else
19                         ht.put(r, new Counter());
20                 }
21                 System.out.println(ht);
22           }
23         } 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM