过了今天,告别了23,也告别了学生时代,是时候静下来好好为未来做些准备了。
今天看了下java机制中的进程与线程,将一些知识点总结一下:
进程与线程都是一段完成某个特定功能的代码,是程序中单个顺序的流控制。
进程和线程一样,都是实现并发的一个基本单位。
利用多线程技术,可以使编程人员方便地开发出能同时处理多个任务的功能强大的应用程序。
所谓的线程(Thread)是指程序的运行流程,多线程的机制是指可以同时运行多个程序块。
实现多线程有两个方法:
1.通过继承Thread类实现,代码结构如下:
class 类名称 extends Thread
{
属性...
方法...
修饰符 run()
{
以线程处理的程序;
}
}
源码实现如下:
public class Thread { public static void main(String[] args) { // TODO Auto-generated method stub new TestThread().start(); for(int i=0;i<10;i++){ System.out.println("main 线程在运行"); } } } class TestThread extends Thread { public void run() { for(int i=0;i<10;i++) { System.out.println("TestThread在运行"); } } }
这个代码在教程上是额可以实现的,可我自己编译时候就提示子线程没有start()这个函数,搞来搞去也还没搞懂哪里的问题,ps:好一段时间没i碰了,确实生疏了,先往后看着,待我后期解决了再回来修改。
2.通过实现Runnable接口实现多线程
class 类名称 implements Runnable
{
属性...
方法...
修饰符 run()
{
以线程处理的程序;
}
}
源码如下:
public class Runnable { public static void main(String[] args) { // TODO Auto-generated method stub TestThread t=new TestThread(); new Thread(t).start(); for(int i=0;i<10;i++){ System.out.println("main 线程在运行"); } } } class TestThread implements Runnable, java.lang.Runnable { public void run() { for(int i=0;i<10;i++) { System.out.println("TestThread在运行"); } } }
事实上,几乎所有的多线程应用都可以使用实现Runnable接口达到目的。