码迷,mamicode.com
首页 > 编程语言 > 详细

多线程

时间:2020-04-05 11:51:50      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:public   任务   vat   static   string   对象   一个   pre   read   

进程vs线程:

进程:每个程序被运行加载到内存之后,都会被操作系统作为一个进程,进程是处于运行过程中的程序,是具有独立功能,被操作系统进行资源分配和调度的独立单元。

线程:一个进程里面可以拥有多个线程,线程拥有自己的堆栈,程序计数器和自己的局部变量,但是不拥有系统资源,多个线程共享进程的系统资源。

创建线程的三种方式:

1.继承Thread类创建线程类

继承Thread类,重写run()方法,该run()方法就代表程序需要完成的任务。创建Thread子类的实例,即创建线程对象。然后通过start()方法启动线程。

 1 public class MyThread extends Thread {
 2     private int count;
 3 
 4     @Override
 5     public void run() {
 6 
 7         for (; count < 100; count ++) {
 8             System.out.println(getName() + "---" + count);
 9         }
10     }
11 
12     public static void main(String[] args) {
13         for (int i = 0; i < 100; i++) {
14             System.out.println(Thread.currentThread().getName() + i);
15             if (i == 20) {
16                 new MyThread().start();
17                 new MyThread().start();
18             }
19         }
20     }
21 }

2.实现Runnable接口来创建并启动多线程

继承Runnable接口,并重写该接口的run()方法。创建Runnable实现类的实例,并以此实例作为Thread的target来创建Thread类对象,该Thread类对象才是真正的多线程对象。然后调用start()方法来执行该Thread实例线程。

示例:

 1 public class MyRunableThread implements Runnable {
 2 
 3     private int count = 0;
 4 
 5     @Override
 6     public void run() {
 7         for (; count < 20; count ++){
 8             System.out.println(Thread.currentThread().getName() + "--" + count);
 9         }
10     }
11 
12     public static void main(String[] args){
13         for (int i=0; i<30; i++){
14             System.out.println(Thread.currentThread().getName() + "--" + i);
15             if (i == 20){
16                 MyRunableThread myRunableThread = new MyRunableThread();
17                 new Thread(myRunableThread, "子线程1").start();
18                 new Thread(myRunableThread, "子线程2").start();
19             }
20         }
21     }
22 }

 

多线程

标签:public   任务   vat   static   string   对象   一个   pre   read   

原文地址:https://www.cnblogs.com/seedss/p/12636121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!