|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。
有关Java5线程新特性的内容全体在java.util.concurrent上面,内里包括数量浩瀚的接口和类,熟习这部分API特性是一项困难的进修历程。今朝有关这方面的材料和书本都少之又少,年夜所属先容线程方面书本还停止在java5之前的常识层面上。
固然新特性对做多线程程序没有必需的干系,在java5之前通用能够写出很优异的多线程程序。只是价值纷歧样罢了。
线程池的基础头脑仍是一种对象池的头脑,启示一块内存空间,内里寄存了浩瀚(未出生)的线程,池中线程实行调剂由池办理器来处置。当有线程义务时,从池中取一个,实行完成后线程对象回池,如许能够制止重复创立线程对象所带来的功能开支,节俭了体系的资本。
在Java5之前,要完成一个线程池是相称有难度的,如今Java5为我们做好了统统,我们只必要依照供应的API来利用,便可享用线程池带来的极年夜便当。
Java5的线程池分很多多少种:流动尺寸的线程池、可变尺寸毗连池、。
在利用线程池之前,必需晓得怎样往创立一个线程池,在Java5中,必要懂得的是java.util.concurrent.Executors类的API,这个类供应大批创立毗连池的静态办法,是必需把握的。
1、流动巨细的线程池
import java.util.concurrent.Executors;
import java.util.concurrent.ExecutorService;
/**
* Java线程:线程池-
*
* @author Administrator 2009-11-4 23:30:44
*/
public class Test {
public static void main(String[] args) {
//创立一个可重用流动线程数的线程池
ExecutorService pool = Executors.newFixedThreadPool(2);
//创立完成了Runnable接口对象,Thread对象固然也完成了Runnable接口
Thread t1 = new MyThread();
Thread t2 = new MyThread();
Thread t3 = new MyThread();
Thread t4 = new MyThread();
Thread t5 = new MyThread();
//将线程放进池中举行实行
pool.execute(t1);
pool.execute(t2);
pool.execute(t3);
pool.execute(t4);
pool.execute(t5);
//封闭线程池
pool.shutdown();
}
}
class MyThread extends Thread{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"正在实行。。。");
}
}
pool-1-thread-1正在实行。。。
pool-1-thread-1正在实行。。。
pool-1-thread-1正在实行。。。
pool-1-thread-1正在实行。。。
pool-1-thread-2正在实行。。。
Process finished with exit code 0
<p>
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。 |
|