码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-08-05 13:01:43      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:lse   contains   需要   sync   else   count   imp   sleep   ext   

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         } 

 

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

标签:lse   contains   需要   sync   else   count   imp   sleep   ext   

原文地址:https://www.cnblogs.com/borter/p/9424969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!