多线程

作者: 树木森林_6354 | 来源:发表于2020-10-15 13:08 被阅读0次

1. 并发与并行的概念:

并发:一个处理器在同一时段内处理不同的任务

并行: 多个处理器或者一个多核处理器在同一时刻处理多个不同的任务。

比喻: 并发指的是一个人在一段时间内吃三个馒头,之间高速切换; 并行是指三个人同时吃三个馒头。

2. 进程与线程:

应用程序:电脑里面所安装的程序可以称为应用程序,再不被调用的时候是被存储在硬盘内部的。

进程:一旦用户双击运行该程序,该程序将被加载进入到内存,进入了内存的应用程序被称作进程。

线程: 线程附属于进程。比如,一个进程有多个功能,像腾讯电脑管家有许多功能,查毒,清垃圾等。每一个这样的功能会被操作系统连接一条线路到cpu方便被cpu所执行操作。这样的一条条线路就叫做线程。具有多条这样线路的应用程序叫做多线程应用程序。

3. 线程调度:

线程的调度可以被分为分时调度和抢占式调度。

所谓的分时调度是指所有线程轮流使用cpu, 平均分配每个线程占用cpu的时间。

抢占式调度是指优先级高的线程会优先被cpu服务。java程序使用的是抢占式调度。

4.主线程:

java程序里,负责服务main()函数的线程就是主线程。如果在main()函数里面又开辟了几条别的线程,这些线程将会与主线程一起抢占cpu的使用权。

5. 创建线程类:

在java中,用java.lang.Thread类来表示线程。java里面的每一个线程都必须是Thread类或其子类的对象。每个线程的任务就是完成一定的程序流,只是多个线程之间会出现抢占cpu的情况罢了。

在java里,创建多个线程通常有两种方法--继承Thread类和实现Runnable接口。

代码展示如何创建多线程:

先贴结果:

    Test类:

MyThread类:

方法总结:建立一个线程类MyThread, 继承自Thread类,并在该类中实现了线程的操作(重写run方法)。在测试类中生成该类对象,调用对象的start方法,即可开辟出一条新的线程。该线程与主线程并发的执行。不可多次启动同一线程,线程结束后也不可以再次调用。实际上,两个线程的输出是随机的。

相关文章

  • iOS多线程 NSOperation

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程 pthread、NSThread

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程: GCD

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程运用

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程基础

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • 多线程介绍

    一、进程与线程 进程介绍 线程介绍 线程的串行 二、多线程 多线程介绍 多线程原理 多线程的优缺点 多线程优点: ...

  • iOS进阶之多线程管理(GCD、RunLoop、pthread、

    深入理解RunLoopiOS多线程--彻底学会多线程之『GCD』iOS多线程--彻底学会多线程之『pthread、...

  • iOS多线程相关面试题

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

  • 多线程之--NSOperation

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

  • iOS多线程之--NSThread

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

网友评论

      本文标题:多线程

      本文链接:https://www.haomeiwen.com/subject/jabnpktx.html