线程的交替执行和顺序执行都不算并发吧?

问题描述

线程的交替执行和顺序执行都不算并发吧?

看到百度上说多线程是CPU交替执行的,那么并发不是同步执行的么?并发多线程交替执行有什么用?

解决方案

并发和并行(concurrent 和 parallel)不是一回事,你说的交替执行,这个在宏观上也是并发,但是不是并行。同时执行才是并行

解决方案二:

并发是指程序共享时间段,如果只有一个cpu,那么就是交替执行,如果是多核cpu,多线程有可能被分配到不同的cpu上同时执行。

解决方案三:

线程顺序执行(phtread)

时间: 2024-12-10 18:37:25

线程的交替执行和顺序执行都不算并发吧?的相关文章

java线程问题:为什么打印的结果每次不同?为什么执行的顺序不同?

问题描述 java线程问题:为什么打印的结果每次不同?为什么执行的顺序不同? 求大神指教为什么每次打印的结果会不同? 原码贴上: package com.Sixping.Ncre08; public class TreadTest { public static void main(String[] args) { Thread t1 = new Thread(new Hello()); Thread t2 = new Thread(new Hello()); Thread t3 = new T

关于线程池与匿名对象的执行先后顺序

问题描述 importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;importjava.util.concurrent.ScheduledExecutorService;importjava.util.concurrent.TimeUnit;classPerson{publicPerson(){System.out.println("*****我要先出来*****");}}publi

js 程序执行与顺序实现详解_javascript技巧

函数的声明和调用 JavaScript是一种描述型脚本语言,由浏览器进行动态的解析与执行.函数的定义方式大体有以下两种,浏览器对于不同的方式有不同的解析顺序. 代码如下: 复制代码 代码如下: //"定义式"函数定义 function Fn1(){ alert("Hello World!"); } //"赋值式"函数定义 var Fn2 = function(){ alert("Hello wild!"); } 页面加载过程中

java线程问题:怎样多次执行

问题描述 java线程问题:怎样多次执行 有三个线程,第一个执行1到5递增,第二个执行6-10递增,第三个11-15.并且每个线程执行5次.我们老师给了一个类,但是我不会写方法,还请大神帮帮忙. 解决方案 我网上百度到了答案,谢谢各位了.可能是我没说明白,现在我从新说明问题,及代码.问题:启动三个线程打印递增数字,线程1先打印12345 然后是线程2打印678910然后是线程3打印出1112131415.接着在由线程1打印1617181920.以此类推打印到75.public class Num

stm32-单片机跑上嵌入式系统ucosii以后,不用考虑顺序执行的问题吗

问题描述 单片机跑上嵌入式系统ucosii以后,不用考虑顺序执行的问题吗 原来裸机跑的时候,写程序都是按程序执行顺序一步一步来的,加了系统不用了吗?那程序是怎么跑的呢? 还有这个图中说道裸机的时候要考虑具体物理地址,如果是用stm32的库函数开发不是也不需要考虑的吗?跑上ucos以后是不是也是相当于他们给了一些这样的库函数,我们之间调用不用知道具体操作那些寄存器? 解决方案 在单独的进程线程看当然还是顺序执行,这里说的不是顺序执行是因为有多个进程,操作系统负责调度,也就是说它负责先什么时候让哪些

js 程序执行与顺序详解

函数的声明和调用 JavaScript是一种描述型脚本语言,由浏览器进行动态的解析与执行.函数的定义方式大体有以下两种,浏览器对于不同的方式有不同的解析顺序. 复制代码 代码如下: //"定义式"函数定义 function Fn1(){ alert("Hello World!"); } //"赋值式"函数定义 var Fn2 = function(){ alert("Hello wild!"); } 页面加载过程中,浏览器会对

Java多线程--让主线程等待所有子线程执行完毕在执行_java

朋友让我帮忙写个程序从文本文档中导入数据到oracle数据库中,技术上没有什么难度,文档的格式都是固定的只要对应数据库中的字段解析就行了,关键在于性能. 数据量很大百万条记录,因此考虑到要用多线程并发执行,在写的过程中又遇到问题,我想统计所有子进程执行完毕总共的耗时,在第一个子进程创建前记录当前时间用System.currentTimeMillis()在最后一个子进程结束后记录当前时间,两次一减得到的时间差即为总共的用时,代码如下  long tStart = System.currentTim

有关多线程顺序执行的问题

问题描述 现有如下代码publicImageUtils(finalStringurl,finalintmaxWidth,finalintmaxHeight,finalintpageNo,finalStringuserID,finalStringtopic){super(newBorderLayout());System.out.println("url="+url);JPanelwebBrowserPanel=newJPanel(newBorderLayout());finalJWeb

《C语言程序设计:问题与求解方法》——3.1节语句执行的顺序性

3.1 语句执行的顺序性 不考虑跳转指令,机器指令是按照存储在内存中的先后顺序依次执行的,高级语言的每一条语句都将翻译成若干条机器指令.第一条语句翻译成的机器指令一定位于第二条语句翻译成的机器指令之前: 第1条语句 第1条指令 第1条语句 第2条指令 第2条语句 第3条指令 第2条语句 第4条指令 第2条语句 第5条指令 第3条语句 第6条指令 第3条语句 第7条指令 因此我们可以说,高级语言也是源程序的语句,通常按照书写的先后顺序在计算机上依次执行的:第1条.第2条.第3条,-- 后面将会看到