Java中线程的实现:

Posted 范仁义

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中线程的实现:相关的知识,希望对你有一定的参考价值。

Java中线程的实现:

一、线程简介:

实现的两种方式为:

1、Thread类

2、Runnable接口

都在java.lang中

都有共通的方法:public void run()

二、线程常用方法

 

线程启动:start()

线程睡眠:sleep()

线程抢占:join()

线程让步:yield()

三、线程实例

实例一:Thread类实现

class Xc extends Thread   //创建线程所需要继承的类 

{

         public void run()            //run方法是覆盖的父类方法

         {

                   for(int i=0;i<20;i++)

                   {

                            System.out.println("子函数");

                   }

         }

}

 

public class L6_1

{

         public static void main(String[] args)

         {

                   Xc xc = new Xc();

                   //如果直接运行run方法,那么run方法就变成了一个普通的方法,

                   //在这个程序表现为先输出20个“子函数”,在输出20个“主函数”,

                   //(运行线程的话,我们的预期结果是让他交替进行)

                   //xc.run();          

                   xc.start();   //谁调用的start方法,程序就去自动调用run方法,并且是作为线程调用

                   //start会单开启一个线程,而不是直接调用。

                  

                  

                   for(int i=0;i<20;i++)

                   {

                            System.out.println("主函数");

                   }

         }

}

实例二:Runnable接口实现

class Xc2 implements Runnable    //不继承类,而是改成了实现接口

{

         public void run()

         {

                   for(int i=0;i<20;i++)

                   {

                            System.out.println("子函数");

                   }

         }

}

 

public class L6_2

{

         public static void main(String[] args)

         {

                   Xc2 xc2=new Xc2();

                   Thread a=new Thread(xc2);

                   a.start();

                   for(int i=0;i<20;i++)

                   {

                            System.out.println("主函数");

                   }

         }

}

两点说明:

1、直接运行.run()方法是直接调用run函数,起不到线程的作用,需要调用start()方法开启一个新的线程去运行这个run函数,即可实现线程的功能

2、如果是用Runnable接口实现方式,主函数里面还要用线程实例去实现接口

 

以上是关于Java中线程的实现:的主要内容,如果未能解决你的问题,请参考以下文章

Java线程实现与安全

java中怎样实现多线程执行的结果相加

11.2-全栈Java笔记:Java中如何实现多线程

Java如何实现线程的暂停和重新启用?求大神

Java中如何实现父线程如何获得子线程数据?

JAVA实现多线程入门