社区
英特尔边缘计算技术
帖子详情
你好,我是做java开发的,请问"你的程序自然而然拥有了多线程",这句话我该怎么才能做到很好的理解?
TTOS3302041
2008-05-13 10:22:51
多线程我不怎么熟悉,怎样才能深刻理解多线程的好处?开发软件的时候如何利用双核技术带来的多线程方面的好处?
...全文
92
3
打赏
收藏
你好,我是做java开发的,请问"你的程序自然而然拥有了多线程",这句话我该怎么才能做到很好的理解?
多线程我不怎么熟悉,怎样才能深刻理解多线程的好处?开发软件的时候如何利用双核技术带来的多线程方面的好处?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
TTOS3302041
2008-05-21
打赏
举报
回复
谢谢你这么仔细的回答,多谢!
Intel_merryhy
2008-05-20
打赏
举报
回复
你好,部分IPP 函数是内部是用openMP方法实现了多线程。你可以参考jeff 的openMP 系列
<<http://topic.csdn.net/u/20080512/16/cce9fb90-2e5b-443b-9c1b-d531673049e9.html>>。
比如, 假设ippiAdd是用openmp多线程方法实现的。
ippiAdd()
{
...
#pragma omp parallel for
for (i=0; i<10; i++){ a[i]=b[i]+c[i]}
....
}
当编译器看到有omp标志的地方,会自动生成多线程的代码。这样ippiAdd函数就是多线程的了。
当你调用这个函数时, 多线程的代码也就自动嵌入到你的程序当中了。
当运行时,你可以理解为:整个主程序的流程一开始是串行的,到了调用这个函数,程序会主动创建两个线程(如果你的机器是双核的),让一个线程 运行 i=[0,5), 一个线程运行 i=[5,10)。 不过这些都是由ipp库自带的功能,开发者不需要任何参与就可以得到多线程的程序。 这就是我说的自然而然。
Intel_merryhy
2008-05-20
打赏
举报
回复
你好,部分IPP 函数是内部是用openMP方法实现了多线程。你可以参考jeff 的openMP 系列
<<http://topic.csdn.net/u/20080512/16/cce9fb90-2e5b-443b-9c1b-d531673049e9.html>>。
比如, 假设ippiAdd是用openmp多线程方法实现的。
ippiAdd()
{
...
#pragma omp parallel for
for (i=0; i<10; i++){ a[i]=b[i]+c[i]}
....
}
当编译器看到有omp标志的地方,会自动生成多线程的代码。这样ippiAdd函数就是多线程的了。
当你调用这个函数时, 多线程的代码也就自动嵌入到你的程序当中了。
当运行时,你可以理解为:整个主程序的流程一开始是串行的,到了调用这个函数,程序会主动创建两个线程(如果你的机器是双核的),让一个线程 运行 i=[0,5), 一个线程运行 i=[5,10)。 不过这些都是由ipp库自带的功能,开发者不需要任何参与就可以得到多线程的程序。 这就是我说的自然而然。
Java
多线程
知识点总结
一、进程与线程
程序
:
程序
是指令和数据的有序集合,本身没有任何运行的含义,是一个静态概念 进程:是执行
程序
的一次执行过程,是一个动态概念。是系统资源分配的单位。(
程序
执行起来就变成了进程) 线程:通常一个进程中可以包含多个线程。线程是CPU调度和执行的单位。 二、线程如何创建 有三种创建模式 1.继承Thread类 本质上Thread类实现了Runnable接口。 使用调用run方法与调用start方法的不同,run方法是被当
做
普通方法,按照
程序
执行顺序在主线程(main)中正常执行,但是start
Java
多线程
- 锁
Java
多线程
- 锁 三性 可见性 指的是线程之间的可见性,一个线程对状态的修改,对其他线程是可见的。在
Java
中 volatile、synchronized 和 final 实现可见性。 原子性 如果一个操作是不可分割的,我们则称之为原子操作,也就是有原子性。比如i++,就不是原子操作。在
Java
中 synchronized和在lock、unlock 中操作保证原子性 有序性 一系列操作是按照规定的顺序发生的。如果在本线程之内观察,所有的操作都是有序的,如果在其他线程观察,所有的操作都是
漫道
多线程
(一):
多线程
与并行计算简述
文章目录 漫道
多线程
(一):
多线程
与并行计算简述 什么是并行计算 什么是
多线程
并行计算的好处 1.硬件上的迫切需要 2.更好的提升资源利用率 为什么要使用
多线程
实现并行计算 CPU时间分片 并行与并发 并发 并行 如何在
java
中使用
多线程
继承Thread类 实现Runable接口(
java
8的Lambda可以轻松实现)
java
线程模型以及编写
多线程
代码会面临的问题 如何解决
多线程
并发中数据不一
多线程
与并发
官方文档https://docs.oracle.com/
java
se/tutorial/essential/concurrency/index.html 推荐《
Java
高并发编程详解:
多线程
与架构设计》 推荐《
Java
高并发编程详解:深入
理解
并发核心库》 有很多工具的基准测试 同步和异步 所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么成功都成功,失败都失败,两个任务的状态可以保持一致。 所谓异步是...
多线程
多线程
的相关概念 1进程和线程 .1进程 进程(Process)是计算机中的
程序
关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位。可以把进程简单的
理解
为正在操作系统中运行的一个
程序
. 1.2线程 线程(thread)是进程的一个执行单元.一个线程就是进程中一个单一顺序的控制流, 进程的一个执行分支。进程是线程的容器,一个进程至少有一个线程.一个进程中也可以有多个线程.
java
程序
中最少有两个进程并发,一个是垃圾回收器GC,一个是Main方法执行主线程 2主线程和子线程 2.1主线程
英特尔边缘计算技术
567
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章