多线程(JAVA)
2013-11-12 14:19
447 查看
//14-1一个简单的多线程程序 import java.lang.Runnable; import java.lang.Thread; public class simple implements Runnable { String str; int num; public simple(String str,int num) { this.str=str; this.num=num; } public static void main(String[] args) { simple threada = new simple("A",30); simple threadb = new simple("B",20); new Thread(threada).start(); System.out.println("AA"); new Thread(threadb).start(); System.out.println("BB"); } public void run() { for(int index=0;index<10;index++) { System.out.print(str); } } } //14-2守护线程的运行 import java.lang.Runnable; import java.lang.Thread; public class Daemon implements Runnable{ public static void main(String[] args) { Thread thread = Thread.currentThread(); System.out.println(thread.getName()+" "+thread.isDaemon()); Thread daemon = new Thread(new Daemon()); System.out.println(thread.getName()+" "+daemon.isDaemon()); daemon.setDaemon(true); daemon.start(); } public void run(){ Thread thread=Thread.currentThread(); System.out.println(thread.getName()+" "+thread.isDaemon()); Thread daemon = new Thread(new Daemon()); System.out.println(thread.getName()+" "+daemon.isDaemon()); while(true){ System.out.println(thread.getName()); } } } //14-3线程池的使用 import java.util.concurrent. *; import java.lang.Runnable; public class TestExecutor implements Runnable{ String str; int num; public TestExecutor(String str, int num){ this.str=str; this.num=num; } public static void main(String[] args) { ExecutorService exec=Executors.newFixedThreadPool(3); for(int i=0;i<10;i++){ exec.execute(new TestExecutor("thread"+i,3)); } exec.shutdown(); } public void run(){ for(int i=0;i<num;i++){ System.out.println(str); /* try{ Thread.sleep(10); }catch(InterruptedException e){}*/ } }} /*Executors.newCachedThreadPool创建的线程池中如果没有可用的空闲线程,而且有任务在等待执行,该线程池就会创建新线程去执行正在等待的任务。不过,这种线程池中的某个线程如果在60秒内都没有使用,系统会自动终止并从缓存中移除它。所以这种线程池长时间保持空闲不会占用任何资源。调用方法Executors.newFixedThreadPool创建的线程池在被现实关闭之前,其中的线程将一直存在。*/
相关文章推荐
- 关于java的内存回收
- 命令行环境下编译执行java程序步骤
- JAVA的Spring注入机制事例详解
- 《深入理解JAVA虚拟机》笔记
- Java基础知识:Java汉字转拼音pinyin4j用法
- Java运行环境 JRockit
- 【Java工程师之路】[2-4.2]JDBC编程
- 输入身份证号,判断其地区、出生年月日、性别
- Java的新I/O(java.nio包)
- maven 仓库地址收集
- struts2+spring线程安全
- spring加载过程
- java批量修改同一目录下具有相同特性的文件名
- spring@Transaction注解方式的事务
- JBPM4整合Spring环境搭建
- Save Failed Compilation unit name must end with .java, or one of the registered java-like extensions
- Spring调用JDK的ResourceBundle读取配置文件
- Spring注解式与配置文件式
- spring中动态加载配置文件
- spring加载jar包中多个配置文件