java代码如何执行线程,java线程操作

java怎么实现线程

1、继承Thread类创建线程

站在用户的角度思考问题,与客户深入沟通,找到临翔网站设计与临翔网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟空间、企业邮箱。业务覆盖临翔地区。

Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。

2、实现Runnable接口创建线程

如果自己的类已经extends另一个类,就无法直接extends Thread,此时,可以实现一个Runnable接口。

3、实现Callable接口通过FutureTask包装器来创建Thread线程

4、使用ExecutorService、Callable、Future实现有返回结果的线程

ExecutorService、Callable、Future三个接口实际上都是属于Executor框架。返回结果的线程是在JDK1.5中引入的新特征,有了这种特征就不需要再为了得到返回值而大费周折了。而且自己实现了也可能漏洞百出。

可返回值的任务必须实现Callable接口。类似的,无返回值的任务必须实现Runnable接口。

执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了。

注意:get方法是阻塞的,即:线程无返回结果,get方法会一直等待。

再结合线程池接口ExecutorService就可以实现传说中有返回结果的多线程了。

Java线程怎样使用?

多进程是指操作系统能同时运行多个任务(程序),多线程是指在同一程序中有多个顺序流在执行。

在java中创建一个线程有两种方法: 

package com.thread;

public class ThreadTest1 {

public static void main(String[] args) {

Runnable1 r = new Runnable1();

//r.run();并不是线程开启,而是简单的方法调用

Thread t = new Thread(r);//创建线程

//t.run(); //如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。

t.start(); //线程开启

for (int i = 0; i  100; i++) {

System.out.println("main:"+i);

}

}

}

class Runnable1 implements Runnable{

public void run() {

for (int i = 0; i  100; i++) {

System.out.println("Thread-----:"+i);

}

}

}

如何在Java中实现线程

class MyJoinThread extends Thread

{

public MyJoinThread()

{

super();

}

public MyJoinThread(String name)

{

super(name);

}

public void run()

{

for(int i=0;i10;i++)

{

System.out.println(super.getName()+":"+i);

}

}

}

public class JoinTest

{

public static void main(String[] args)

{

MyJoinThread thread=new MyJoinThread("第1个线程");

thread.start();

for(int i=0;i10;i++)

{

System.out.println(Thread.currentThread().getName()+":"+i);

if(i==5)

{

try

{

thread.join();

}

catch (InterruptedException e)

{

System.out.println("线程被中断");

}

}

}

}

}

java中的线程具体如何运行

t1.start();        //表示启动线程,此时线程真正启动起来。

Thread.sleep(timeout);        //表示让当前线程睡眠一段时间。

至于每次结果不一样,很正常,这也是正是多线程的一个特点——不确定性。


网页名称:java代码如何执行线程,java线程操作
分享链接:http://hbruida.cn/article/dscpidh.html