多线程理解

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

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

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

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

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

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/yunianzeng/p/11229252.html