• Java多线程


    让计算机看起来可以干很多事情。

    计算机在用它的超高运行性能碾压人类的反应速度。

    手机对着电脑屏幕扫描,因为变换频率相差不大,所以会闪。

    酷睿多核,保证电脑可以在物理上实现多线程。

    进程是操作系统中运行的一个任务。

    进程是一块包含了某种资源的内存区域。操作系统利用进程把它的工作

    划分为一些功能单元。

    线程只能归属于一个进程并且它只能访问该进程所拥有的资源。

    当操作系统创建一个进程后,该进程会自动申请一个名为主线程或首要线程的线程。

    每个进程有一段独立的内存。

    一个线程是进程的一个顺序执行流。

    线程没有独立的内存。多个线程共享进程的内存。

    同类的多个线程共享一块内存空间和一组系统资源,线程本身有一个供程序执行时的堆栈。

    线程在切换负载小,因此线程也被称为轻负载进程。一个进程中包多个线程。

    进程是操作系统级别运行的任务。进程至少需要一个线程。

    线程是进程中独立运行的一个任务。每个应用程序都是一个进程。

    线程使用的场合

    线程通常用于在一个程序中需要同时完成多个任务的情况。我们可以将每个任务定义为

    一个线程,使他们得以一同工作。

    也可以用于在单一线程中可以完成,但是使用多线程可以更快的情况。如下载文件。

    多线程是并发运行的。(面试时一定要这么说)

    多个线程“同时”运行只是我们感官上的一种表现。事实上线程是并发运行的,OS将时间划分为很多时间片段(时间片),尽可能均匀分配给每一个线程,获取时间片段的线程被

    CPU运行,而其他线程全部等待。所以微观上是走走停停的,宏观上都在运行。这种现象较并发,

    但是不是绝对意义上的“同时发生”。

    线程专门有一个调度器。

    CPU给哪个线程,哪个线程就开始运行。

    引起线程阻塞的可能有:IO阻塞,睡眠阻塞。

    线程调度器只能保证在分配时间片时分得的概率是一样的。线程调度室不可控的。

  • 相关阅读:
    1351. 统计有序矩阵中的负数
    剑指 Offer 56
    39. 组合总和
    1619. 删除某些元素后的数组均值
    1380. 矩阵中的幸运数
    216. 组合总和 III
    面试题 08.03. 魔术索引
    1518. 换酒问题
    Xcode多进程调试:WKWebView
    Xcode编译WebKit
  • 原文地址:https://www.cnblogs.com/liaoxiaolao/p/9593644.html
Copyright © 2020-2023  润新知