【搞懂Java多线程之一】多线程相关概念,线程生命周期以及线程创建方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【搞懂Java多线程之一】多线程相关概念,线程生命周期以及线程创建方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2075字,纯文字阅读大概需要3分钟。
内容图文
楼主决定要好好地把Java的多线程给看一下,所以特地来写下博客,内容大部分都是摘抄自网上看到的资料或者书籍,能给出链接的我会给出链接。嗯,希望大家跟楼主一起抱团,加油加油↖(^ω^)↗也欢迎关注楼楼的个人博客主页www.anycodex.com。
1.多线程相关概念
程序:为了完成特定任务,用某种语言编写的一组指令集合。
进程: 运行中的程序,系统跳读和资源分配的一个独立单位,操作系统会为每一个进程分配一段内存空间。
线程:比进程更小的执行单位,每一个进程可能有多个线程,线程需要放到一个进程中才能执行。线程由程序负责管理,而进程由系统进行调度。
多线程:并行执行多条指令,将CPU时间片按照调度算法分配给各个线程,实际上是分时执行,知识切换时间短,用户感觉在同时。
2.线程的生命周期
如图所示:
3.线程的创建
Java中线程创建有两种方式:继承Thread类创建、实现Runnable接口
- 创建流程
- 代码演示
方法一:继承Thread类来创建
package net.mindview.util; //第一步、继承Thread类 class MyThreadRunning extends Thread { //构造函数 public MyThreadRunning() { super("My Thread"); //System.out.println("新建一个线程" + getName()); } //第二步、重写run方法 public void run() { for (int i = 0; i <= 3; i++) { System.out.println("新建一个线程" + getName()+i); try { sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } public class MyThread { public static void main(String[] args) { //第三步、实例化自定义的线程类对象 MyThreadRunning mtr = new MyThreadRunning(); //第四步、调用start方法从而启动run方法 mtr.start(); } }
运行结果:
新建一个线程My Thread0
新建一个线程My Thread1
新建一个线程My Thread2
新建一个线程My Thread3
方法二:实现Runnable接口实现
package net.mindview.util; //第一步、实现Runnable接口 class MyThreadRunning implements Runnable { //第二步、重写run方法 public void run() { for (int i = 0; i <= 3; i++) { System.out.println("新建一个线程" + Thread.currentThread().getName() + i); try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } public class MyThread { public static void main(String[] args) { //第三步、实例化自定义的线程类对象 MyThreadRunning mtr = new MyThreadRunning(); //第四步、实例化一个Thread类对象并将自定义的线程类对象作为参数传入,后面一个参数为线程名 Thread thread = new Thread(mtr, "My Thread"); //第五步、调用start方法启动线程 thread.start(); } }
运行结果:
新建一个线程My Thread0
新建一个线程My Thread1
新建一个线程My Thread2
新建一个线程My Thread3
- 两种方法的对比
如果是继承Thread类,那么该类就不能继承其他类了;
实现Runnable接口,并不影响继承其他类。
总结:这一篇就总结到这里了,怎么样,东西应该大都懂了吧?下篇继续哦,内容是多线程的控制、线程的优先级和线程的调度。加油加油加油↖(^ω^)↗
参考链接:http://blog.csdn.net/coder_pig/article/details/44284423
原文:http://blog.csdn.net/xiaxia__/article/details/44916599
内容总结
以上是互联网集市为您收集整理的【搞懂Java多线程之一】多线程相关概念,线程生命周期以及线程创建方法全部内容,希望文章能够帮你解决【搞懂Java多线程之一】多线程相关概念,线程生命周期以及线程创建方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。