多线程到底是不是同时执行
答:但按照操作系统理论严格来说,多线程并不是多个线程一起运行的.因为多线程实际上是多个线程之间轮流执行的,就是将一个时间段分成若干个时间片,每个线程只运行一个时间片,由于时间片极短,而且电脑运行极快,线程之间切换也极快,几乎可以看做是并行运行的,也就是说可以看成是同时运行的.但实际却不是的同...
答:多线程是并发执行,严格地说并不是同时执行。宏观上看,多个线程是在同时进行的。但微观上看,CPU将时间段分成了若干个时间片,每个线程只运行一个时间片,由于时间片极短,且电脑运行极快,线程之间切换也极快,几乎可以看做是同时(并行)运行的。
答:在多核CPU环境下,同一进程下的多个线程确实可以并行运行。CPU在任意给定时刻只能执行一个线程的指令,但通过快速的线程切换,看起来好像多个线程同时在执行。这种切换是由CPU的调度算法控制的,当一个线程因等待I/O或内存访问而暂停时,CPU可以切换到另一个就绪状态的线程,从而实现多任务处理。多线程的执...
答:多线程,是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。 在一个程序中,这些独立运行的程序片段叫作“线程”,利用它...
答:多线程是指计算机同时执行多个任务的能力。多线程是一种计算机科学中的技术,用于实现程序的并发执行。在传统的单线程程序中,程序只能按顺序执行一系列任务。而在多线程环境下,程序可以同时执行多个线程,每个线程代表一个执行路径或任务。多线程技术通过将程序划分为多个独立的线程,使得这些线程可以并行运行...
答:多CPU当然是真多线程。就是CPU可能同时在执行4个线程。但是不是多核也没关系。因为线程的执行往往会挂起,等待IO之类。这时候CPU会转到别的线程来执行。这是分时系统的一大特征。当然人是感觉不到的。用多线程,比如你的处理分为两大部分,一部分产生数据,一部分显示数据,产生数据比较耗时。(生产者...
答:多线程就是多个指令序列同时执行,能同时占有多个CPU核心,提高整体运算速度。不过不建议用多线程复制,多个线程同时访问同一个物理设备,同时只有一个线程能获得这个设备的控制权,其他线程都在等待。因此文件复制的瓶颈在disk i/o,不在CPU,多线程不能提高disk i/o的性能,反而有可能增加磁盘的寻道时间...
答:对于单核的单个CPU来说,它绝不是同一时刻运行的,系统用一种类似轮讯的方式处理每个线程的运算请求 对于多CPU或多核CPU来说,它们有可能是同一时刻运行的,这是由线程管理器来确定的,分到单个CPU上的同样使用轮讯
答:在操作系统中,线程是系统调度和分配处理器时间的基本单位。在多核处理器系统中,多个线程可以同时运行在不同的处理器核心上,实现真正的并行计算。而在单核系统中,多线程通过时间片轮转的方式实现并发执行,即每个线程轮流使用处理器资源,由于线程切换非常快,所以给人一种同时执行多个任务的感觉。多线程...
答:如果是单核CPU,在某个时间点只能执行一个线程,但是多核CPU你可以理解为多个单核CPU,当然可以同时执行多个线程啦。
网友评论:
邰琦15180736179:
多线程到底是不是"同时"执行? -
14734居相
: 对于单核的单个CPU来说,它绝不是同一时刻运行的,系统用一种类似轮讯的方式处理每个线程的运算请求 对于多CPU或多核CPU来说,它们有可能是同一时刻运行的,这是由线程管理器来确定的,分到单个CPU上的同样使用轮讯
邰琦15180736179:
java的多线程是并发还是并行 -
14734居相
: 并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务. 前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生. 并发性 (concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生. 并行 (parallelism) 是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行. 也就是说,多进程之间并发执行,而多线程编程就是并行执行的了. 正确答案是: java的多线程是并行.
邰琦15180736179:
pthread多线程是指同时运行多个程序吗? -
14734居相
: 不是的,windows每次运行只能运行一个程序或者一个进程就是process.进程里面可以调用多个线程thread,多个线程是按照CPU分时间片进行的,所以看上去跟同时运行一样.由于多个线程是在同一个进程里面运行的,所以线程之间是可以通信的;而线程之间还可能用到同一个进程里面的相同数据.线程之间的通信请参看参考资料里面的线程同步.
邰琦15180736179:
在多CPU的计算机系统中,Java中的多线程是真正意义上的同时执行吗? -
14734居相
: 看要你线程的总数,比如,你2个cpu,总共系统中也只有2个线程,那就是真正上的同时执行,如果你的线程数大于cpu数,那事实上还是异步执行的
邰琦15180736179:
在编程里边,多线程是指,多条指令同时运行而不是单一的从上到下的执行?
14734居相
: 线程的优先级无法保障线程的执行次序.只不过优先级高的线程获取 CPU 资源的概率大一点而已.如果需要控制线程顺序要使用线程的join方法,该方法的作用是“等待线程执行结束”,即join()方法后面的代码块都要等待现场执行结束后才能执行.
邰琦15180736179:
Java中多线程在多核CPU中是真的同时执行吗? -
14734居相
: 如果是单核CPU,在某个时间点只能执行一个线程,但是多核CPU你可以理解为多个单核CPU,当然可以同时执行多个线程啦.
邰琦15180736179:
java中多线程的执行是否同时 -
14734居相
: 多线程的执行要看是否是多核cpu,如果是单核cpu线程是轮流执行,4核cpu能同时执行4个线程,与编程使用的语言无关,
邰琦15180736179:
多线程你们都开了吗 -
14734居相
: 可以说是的,也可以说不是但按照操作系统理论严格来说,多线程并不是多个线程一起运行的.因为多线程实际上是多个线程之间轮流执行的,就是将一个时间段分成若干个时间片,每个线程只运行一个时间片,由于时间片极短,而且电脑运行极快,线程之间切换也极快,几乎可以看做是并行运行的,也就是说可以看成是同时运行的.但实际却不是的同时运行的.
邰琦15180736179:
线程同步 在微观上 是指两个线程同时执行么 还是一个一个的执行 请大家帮下忙 谢谢~~ -
14734居相
: 对单CPU来说是一个一个执行,对多CPU来说可能是同时执行,也可能是一个一个执行.对单CPU来说不可能同时执行,只是合理分配CPU时间片给人感觉是同时执行.