您的位置:首页 > 编程语言 > Java开发

多线程(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创建的线程池在被现实关闭之前,其中的线程将一直存在。*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: