2 gstatham gstatham 于 2016.02.18 18:02 提问

Linux C编程求大神帮忙,感激不尽 1C

void Detect_4G_model(void *param)
{
while(1) {
/
检测到插入模块 */
g_4g_status = RUN;

    /* 检测到拔出模块 */
    g_4g_status = STOP;
}

}
void Send_to_4g_thread(void *param)
{
/
下面是需要挂起和唤醒的部分*/
while(1) {

/* .... */
}

return NULL;
}

int main(int argc, char * argv[])
{
pthread_create(&tid1, NULL, Detect_4G_model, NULL);
pthread_create(&tid2, NULL, Send_to_4g_thread, NULL);
}
程序有两个线程,线程td1用来检测外部模块的插入和拔出,当检测到拔出时,g_4g_status 设置为 STOP;当检测到插入时,g_4g_status 设置为RUN, 请问,怎么根据g_4g_status 的状态来控制线程Send_to_4g_thread的挂起和唤醒,最好写出点代码,O(∩_∩)O谢谢

5个回答

wang0921jun
wang0921jun   2016.02.18 18:25

采用线程锁来进行控制,目前手头没有相关代码,你可以进行这方面的搜索。DEMO代码有许多。

xyz347
xyz347   2016.02.18 19:10

用信号量,发送线程等待信号量,检测线程用释放信号量。

Mr_dsw
Mr_dsw   Ds   Rxr 2016.02.18 21:03

使用线程同步,进行同步锁处理

henuyx
henuyx   2016.02.19 10:08

如果实时性要求不高的话,第二个线程,就sleep N秒,去检测那个全局标志。
如果实时性有一定要求的话,就用条件变量,可以实时控制

qq_21792169
qq_21792169   2016.02.22 08:23

可以让一个线程休眠,状态判断使用中断机制

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
新浪漫步者6.1
感觉很不好的一个软件 求更好的 有没有大神帮忙!
fifo to uart
VHDL 带fifo的uart 源代码,求大神帮忙修改。
求大神帮忙~
wowza推流连接成功了  但是播放得到时候就显示now published 本人萌新根本不懂啊  求帮助
求大神帮忙解决
新接触的一个idea编程软件。。配置好了tomcat的。但是一运行就报一个异常The APR based Apache Tomcat Native library failed to load. The error reported was [D:\apache-tomcat-7.0.68\bin\tcnative-1.dll: Can't load AMD 64-bit .dll on a IA...
求大神帮忙
Dim qyjbxx__MMColParam qyjbxx__MMColParam = "1" If (Request.Form("fwlly")    qyjbxx__MMColParam = Request.Form("fwlly") End If %> Dim qyjbxx__NNColParam qyjbxx__NNColParam = "1" If (Request.
求大神帮忙!!!!!!!!!!
 不能用循环是一件多么悲伤的事下面是一个算到10的加法表:0 + 0 = 0 0 + 1 = 1 0 + 2 = 2 0 + 3 = 3 0 + 4 = 4 0 + 5 = 5 0 + 6 = 6 0 + 7 = 7 0 + 8 = 8 0 + 9 = 9 0 +10 = 10 1 + 0 = 1 1 + 1 = 2 1 + 2 = 3 1 + 3 = 4 1 + ...
求大神帮忙,急!!
是不是没连上数据库啊?
大神求帮忙
#coding:utf-8 import requests from bs4 import BeautifulSoup base_url = "http://www.ico2o.com/item-%d" def find_matching(url): # 下载页面 r = requests.get(url) html_soup = BeautifulSoup(r.r
Ajax 求大神帮忙!
function updateTclass(){ var id = $("#classId1").val(); var tclassName = $("#className1").val(); var major = $("#classMajor1").val(); $.ajax({     type:"post",     url : "updateTclass.do",//访问
{求大神帮忙!!!!!!}
原题描述: 给定一个日期,输出这个日期是该年的第几天。 Input 输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。 Output 对于每组输入数据,输出一行,表示该日期是该年的第几天。 Sample Input 2000-01-01 Sample Output 1