方法一:
#!/bin/bash
for ((i=0;i<5;i++));do
{
sleep 3;echo 1>>test && echo "done!"
} &
done
wait
cat test|wc -l
rm test
方法二:
#!/bin/bash
function a_sub { # 此处定义一个函数,作为一个线程(子进程)
sleep 3 # 线程的作用是sleep 3s
}
tmp_fifofile="/tmp/$$.fifo"
mkfifo $tmp_fifofile # 新建一个fifo类型的文件
exec 6<>$tmp_fifofile # 将fd6指向fifo类型
rm $tmp_fifofile
thread=15 # 此处定义线程数
for ((i=0;i<$thread;i++));do
echo
done >&6 # 事实上就是在fd6中放置了$thread个回车符
for ((i=0;i<50;i++));do # 50次循环,可以理解为50个主机,或其他
read -u6
# 一个read -u6命令执行一次,就从fd6中减去一个回车符,然后向下执行,
# fd6中没有回车符的时候,就停在这了,从而实现了线程数量控制
{ # 此处子进程开始执行,被放到后台
a_sub && { # 此处可以用来判断子进程的逻辑
echo "a_sub is finished"
} || {
echo "sub error"
}
echo >&6 # 当进程结束以后,再向fd6中加上一个回车符,即补上了read -u6减去的那个
} &
done
wait # 等待所有的后台子进程结束
exec 6>&- # 关闭df6
exit 0
分享到:
相关推荐
linux下多线程实现矩阵乘法,可以对操作系统的线程有更多理解
本示例"Linux c++多线程串口编程demo"聚焦于利用多线程技术实现串口通信,这是一种常见的硬件接口,用于设备之间的数据交换。下面我们将深入探讨这个demo涉及的知识点。 1. **多线程编程**:在C++中,我们可以使用`...
Linux 下 C 语言多线程编程实例 Linux 下的多线程编程是一种非常重要的技术,在实际应用中有非常广泛的应用范围。多线程编程可以大大提高程序的执行效率和响应速度。但是,多线程编程也存在一些复杂性,例如线程...
c语言实现linux下多线程ping命令,可以ping一个网段,格式为./XX 14.215.177.38 14.215.177.40(以百度ip地址为例)
Linux多线程编程是操作系统中并发程序设计的一个重要领域,它允许开发者在同一程序中创建多个线程,以实现并行执行,从而提高程序的执行效率和响应能力。Linux下的多线程编程通常基于POSIX线程(pthread)库来实现,...
在Linux系统下进行多线程编程是开发高效并发应用程序的关键技术之一。本文将深入探讨Linux环境中的多线程概念、创建与管理线程的方法、线程同步与通信机制,以及多线程编程中可能遇到的问题和解决策略。 一、多线程...
Linux 下多线程编程 Linux 下的多线程编程遵循 POSIX 线程接口,称为 pthread。编写 Linux 下的多线程程序,需要使用头文件 pthread.h,连接时需要使用库 libpthread.a。 Linux 下 pthread 的实现是通过系统调用 ...
在这个"Linux下多线程模拟实验"中,我们将深入探讨如何使用C语言在Linux环境下实现生产者-消费者问题,这是一个经典的线程同步问题。 生产者-消费者问题是多线程编程中的一个经典案例,主要用于演示如何通过共享...
在Linux操作系统中,多进程和多线程是两种并发执行的方式,它们在处理并发问题时,经常需要进行同步和互斥操作,以确保数据的一致性和程序的正确性。本篇将详细介绍这两种并发模型以及如何在Linux环境中实现同步互斥...
多线程编程可以实现并行计算,高效利用多处理器,并且具有许多优点,如节约系统资源、方便的线程间通信机制、提高应用程序响应速度、使多CPU系统更加有效、改善程序结构等。 Linux系统提供了 LinuxThreads 库,它...
《C++实现的Linux多线程聊天室》 在计算机编程领域,多线程技术是提升程序并发性能的重要手段,特别是在服务器端应用中,如聊天室。本项目以C++语言在Linux环境下实现了一个多线程聊天室,利用了Linux系统强大的多...
在Linux下实现多线程,通常会使用POSIX线程库(简称pthread)。pthread为程序员提供了一系列标准的线程操作函数,包括创建线程、销毁线程、线程同步等。使用pthread,程序员可以不必了解操作系统的线程调度和上下文...
在Linux系统中,多线程编程是实现高效并发执行任务的一种常见方法。通过创建和管理多个线程,程序可以充分利用现代多核处理器的资源,提高软件的响应速度和整体性能。"linux_code.rar"这个压缩包包含了一些关于Linux...
linux下多线程udp网络编程实现消息驱动多状态机流转,收发一体
总结来说,Linux下的多线程并发通信基于socket实现,结合TCP/IP协议,能够高效地处理多个客户端的并发请求。开发者需要理解套接字的概念、类型以及编程原理,同时掌握多线程编程技巧,包括线程安全、线程池等,以...
1)Linux 下C实现的多线程架构,已经实际应用的很多项目,小弟刚刚完成由WIndows到Linux的移植(唉,以前一点都没学过) 2)支持多线程用户访问,多线程日志,支持ODBC方式的数据库访问(db2只举了一个查询的例子) ...
"VC多线程编程.CHM"可能包含有关在Windows环境下使用Visual C++进行多线程编程的信息,虽然与Linux环境不同,但理解不同的操作系统下的线程实现有助于跨平台开发。 另外,"第8章_Socket编程初步.ppt"可能包含关于...
嵌入式Linux多线程编程 嵌入式Linux多线程编程是嵌入式系统开发中的一种重要技术,能够提高系统的效率和响应速度。本章节将详细介绍嵌入式Linux多线程编程的基本概念、线程的创建、同步和互斥、线程属性、多线程...
为了实现多用户同时访问视频监控资源,系统采用了Linux多线程技术。每个客户端的请求被分配到独立的线程中处理,确保了并发访问的高效性和稳定性。视频数据通过TCP/IP协议在网络上传输,用户只需在监控终端输入IP...