对 makefile 中 .NOTPARALLE 的学习体会

简介:

上例子

事先准备好三个脚本:

a01.sh b01.sh c01.sh:

脚本内容如下, 即每睡眠一秒钟后再输出内容:

a01.sh

for ((i=0;i<10;i++));
do
    @echo "a01..." $i;
    sleep 1;
done;

b01.sh

for ((i=0;i<10;i++));
do
    @echo "b01..." $i;
    sleep 1;
done;

c01.sh

for ((i=0;i<10;i++));
do
    @echo "c01..." $i;
    sleep 1;
done;

makefile 的内容如下:

复制代码
.PHONY:all

all: a b c

a:
    ./a01.sh

b:
    ./b01.sh

c:
    ./c01.sh
复制代码

如果仅仅运行 make , 则 a01.sh b01.sh c01.sh 几个脚本还是串行执行的。

但是如果执行  make --jobs=3,得到的结果是:

a01...1

b01...1

c01...1

a01....2

b01....2

c01....2

...

成为并行执行。

但是如果在此makefile 加入 .NOTPARALLEL,则:

复制代码
.NOTPARALLEL
.PHONY:all all: a b c a: .
/a01.sh b: ./b01.sh c: ./c01.sh
复制代码

则 即使 make --jobs=3 执行,a01.sh b01.sh c01.sh 几个脚本仍然是串行执行的。

结束

 

结束





本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/09/25/2701489.html,如需转载请自行联系原作者

目录
相关文章
|
SQL 关系型数据库 MySQL
MySQL数据库——DML基本操作
本文介绍了MySQL中的DML基本操作,包括查询、插入、更新和删除数据。查询数据使用SELECT语句,插入数据用INSERT INTO,更新数据则依靠UPDATE,而删除数据需用DELETE FROM。这些操作是数据库管理的关键,有效提升数据处理效率和准确性。理解并熟练运用这些语句是确保数据一致性和安全性的基础。参考文献包括MySQL官方文档和W3Schools的MySQL教程。
665 2
|
存储 关系型数据库 MySQL
Linux部署OwnCloud私有网盘
Linux部署OwnCloud私有网盘
Linux部署OwnCloud私有网盘
|
JavaScript 前端开发 PHP
【Vue+NodeJS】vue路由及NodeJS环境搭建(Windows版)
Node.js是一个基于Chrome V8引擎构建的JavaScript运行时环境使用了一个事件驱动、非阻塞式I/O 的模型;可以让JavaScript在服务器端运行,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。相对于传统的JavaScript运行环境(如浏览器),Node.js具有以下特点:事件驱动:Node.js使用事件驱动的非阻塞I/O模型,使得在处理大量并发请求时效率更高。单线程。
|
移动开发 JSON Java
APK文件结构
APK文件结构
431 0
|
3月前
|
人工智能 小程序 前端开发
小程序、网站 vs. APP:成本差异究竟在哪里?技术栈如何决定项目上限?优雅草卓伊凡
小程序、网站 vs. APP:成本差异究竟在哪里?技术栈如何决定项目上限?优雅草卓伊凡
226 0
小程序、网站 vs. APP:成本差异究竟在哪里?技术栈如何决定项目上限?优雅草卓伊凡
|
7月前
|
人工智能 JavaScript 前端开发
Vue 性能革命:揭秘前端优化的终极技巧;Vue优化技巧,解决Vue项目卡顿问题
Vue在处理少量数据和有限dom的情况下技术已经非常成熟了,但现在随着AI时代的到来,海量数据场景会越来越多,Vue优化技巧也是必备技能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
机器学习/深度学习 边缘计算 人工智能
ONNX 在边缘计算中的应用
【8月更文第27天】随着物联网 (IoT) 和边缘计算技术的不断发展,越来越多的智能设备被部署在远离数据中心的位置,以处理实时数据并做出即时决策。Open Neural Network Exchange (ONNX) 作为一种开放格式,允许在不同框架之间交换经过训练的机器学习模型,为边缘计算中的模型部署提供了重要的支持。本文将探讨 ONNX 如何简化边缘计算中复杂 AI 模型的部署,并讨论在此过程中可能遇到的挑战及解决方案。
527 0
|
11月前
@Inherited
@Inherited
131 0
|
传感器 物联网 5G
5G的三大主要特性:解锁未来无限可能
5G的三大主要特性:解锁未来无限可能
1421 1
|
SQL 监控 关系型数据库
深入解析MySQL死锁:原因、检测与解决方案
深入解析MySQL死锁:原因、检测与解决方案