java 多线程编程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 多线程编程相关的知识,希望对你有一定的参考价值。
一.关于线程
- 线程是执行java程序代码的基本单位
- java线程是java平台的一部分
二.java中的线程编程
Thread类
java中的线程已被封装为Thread类,void start()方法就是启动线程的方法,调用后会让线程去执行指定的方法。void run()是其中一个方法,start()方法会把它作为线程的起点。
只要让一个类去继承Thread类,然后去覆盖其中的run()方法,那么就可以控制线程了
1 public class UseThread{ 2 public static void main(String[] args){ 3 MyThread thread = new MyThread(); 4 thread.run; 5 } 6 } 7 class MyThread extends Thread{ 8 public void run(){ 9 System.out.println("This is a thread code"); 10 } 11 }
可是一个类只能实现单继承,如果继承了线程类后,则无法继承其它类,于是这时候最好是使用接口。java提供了Runnable()接口,它包括了run()方法在内。Thread类中含有Runnable属性,构造方法可以是Thread(Runnable),只要Runnable不为null,那么就可以启用run()方法。
public class UseThread {
public static void main(String[] args){ MyRunnable runnable = new MyRunnable(); Thread thread = new Thread(runnable); thread.run(); } } class MyRunnable implements Runnable{ public void run(){ System.out.println("这是一个线程代码"); } }
package study_java; public class Inner { public static void main(String[] args){ PrintCurrentThread printer = new PrintCurrentThread(); //匿名内部类 Runnable runnable = new Runnable(){ public void run(){ PrintCurrentThread p = new PrintCurrentThread(); p.printcurrrentthread(); } }; Thread thread = new Thread(runnable,"线程-1"); thread.start(); printer.printcurrrentthread(); } } class PrintCurrentThread{ public void printcurrrentthread(){ Thread currentthread = Thread.currentThread(); String threadname = currentthread.getName(); System.out.println(threadname); } }
以上是关于java 多线程编程的主要内容,如果未能解决你的问题,请参考以下文章