zoukankan      html  css  js  c++  java
  • 多线程理解

    单核cpu:单线程与多线程;运行时都是并发操作

        a.运行条件:无io等操作,时间大小:多线程>单线程,原因:多线程运行时线程切换耗时间;

        b.运行条件:有io等操作,时间大小: 单线程>多线程,原因:单线程要等待io的操作时间,从而加长时间;

        单核多线程的作用:在b中展现出优点。

    多核cpu:单线程与多线程;单线程还是并发操作,多线程可以并行操作

        运行条件:针对同一个程序,时间大小:单线程>多线程,原因:多线程将程序分为多个子线程并行执行,执行效率比单线程要快得多。

    单核多线程和多核单线程:单核多线程只能是并发操作,而多核多线程可以是并行操作

    线程的5种状态:新建,就绪,运行,阻塞,死亡。

    主线程与子线程的优先级问题:

    在一个线程中开启了另外一个线程,默认子线程的优先级和主线程一致,由于主线程先启动,所以先获得cpu资源,当子线程与主线程争抢cpu资源时,看运气,谁抢到归谁;

    设置了优先级,也不一定非按优先级执行,只是说优先级高的线程抢到cpu资源的概率会大一些,优先级低的线程也有机会执行,优先级设置为1-10,数值越大优先级越高,默认优先级为5;

  • 相关阅读:
    Django中多表的增删改查操作及聚合查询、F、Q查询
    路由控制
    路由、视图、模板主要知识点回顾
    创建文件linux
    关于shell,环境变量放置在?
    snprintf和string操作函数
    C/C++的存储区域的划分
    001
    SAMBA服务器
    归并排序原理详解!
  • 原文地址:https://www.cnblogs.com/yunianzeng/p/11229252.html
Copyright © 2011-2022 走看看