浏览MoreWindows的文章写出来的
http://blog.csdn.net/morewindows/article/details/7392749
 
 
#include <stdio.h>
#include <process.h>
#include <windows.h>
unsigned int __stdcall Fun(void *pPM);
const int THREAD_NUM = 1;
//循环次数
const int LOOP = 6;
//两个互斥事件
HANDLE g_hThreadEvent1;
HANDLE g_hThreadEvent2;
int main()
{
printf("\t子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环10 次,\n接着再回到主线程又循环 100 次,如此循环50次\n");
int i = 0 , j;
HANDLE hdl[THREAD_NUM];
g_hThreadEvent1 = CreateEvent(NULL,FALSE,FALSE,NULL);
g_hThreadEvent2 = CreateEvent(NULL,FALSE,TRUE,NULL);
hdl[0] = (HANDLE)_beginthreadex(NULL,0,Fun,NULL,0,NULL);
for( i = 0 ; i < LOOP; i++)
{
WaitForSingleObject(g_hThreadEvent1,INFINITE);
for(j = 0 ; j<4; j++)
{
printf(" 主要线程编号是 ,在循环第 %d 次\n",j+1);
}
SetEvent(g_hThreadEvent2);
Sleep(200);
}
CloseHandle(g_hThreadEvent2);
CloseHandle(g_hThreadEvent1);
for (i = 0; i < THREAD_NUM; i++)
CloseHandle(hdl[i]);
return 0;
}
unsigned int __stdcall Fun(void *pPM)
{
int num = 0;
int i = 0;
for( i  = 0 ; i< LOOP;i++)
{
WaitForSingleObject(g_hThreadEvent2,INFINITE);
for(num = 0;num < 2 ; num++)
{
printf("  线程编号是 %d ,在循环第 %d 次\n",GetCurrentThreadId(),num+1);
}
SetEvent(g_hThreadEvent1);
}
return 0;
}

第二题:我觉得有汇编基础的人应该能很快知道答案是50 -100

一个全局变量tally,两个线程并发执行(代码段都是ThreadProc),问两个线程都结束后,tally取值范围。
inttally = 0;//glable
voidThreadProc()
{
for(inti = 1; i <= 50; i++)
tally += 1;
}

子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环10 次(线程面试:windows下实现)相关推荐

  1. 多线程学习--案例-子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次

    子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序. package Demo4; public class ThreadTe ...

  2. Java多线程面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次

    近在学习多线程,特贴在这里,并附上自己所作答案(参考与张孝祥老师的方法). 题目如下: 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50 ...

  3. 【java基础】子线程任务发生异常,主线程事务如何回滚?

    文章目录 一.提出问题 二.主线程与子线程 三.线程池 四.异常的捕获 五.事务的回滚 一.提出问题 最近有一位朋友问了我这样一个问题,问题的截图如下: 这个问题问的相对比较笼统,我来稍微详细的描述下 ...

  4. android判断主线程_惊天秘密!从Thread开始,揭露Android线程通讯的诡计和主线程的阴谋...

    背景介绍 我们在Android开发过程中,几乎都离不开线程.但是你对线程的了解有多少呢?它完美运行的背后,究竟隐藏了多少不为人知的秘密呢?线程间互通暗语,传递信息究竟是如何做到的呢?Looper.Ha ...

  5. java一道多线程题,子线程循环10次,主线程接着循环100次,如此循环50次的问题

    <span style="font-size:18px;">/*** 实现功能:子线程循环10次,接着主线程循环15次,接着又回到子线程循环10次,接着再回到主线程又循 ...

  6. android 线程传递数据,Android Handle主线程向子线程发送数据

    一.前言: 今天,下载apk的时候,下载进度回调到主线程,主线程刷新通知栏,造成页面阻塞掉,不能点击页面(下载结束后,可以正常点击页面). 所以,要在进度回调发送消息到子线程,在子线程的Handler ...

  7. Android 超清大尺寸图片压缩转Base64中卡顿/速度优化问题整理(在子线程压缩Bitmap卡的主线程进度条走不动了。。。)

    最近遇到需求是前后端传输图片使用的是Base64,但是前端(Android 端)图片很大(尺寸很大4480 × 2520,质量也很大7-10M),需要压缩到一定尺寸(1280 × 960,当然还可以压 ...

  8. qt调用linux系统的线程函数吗,Qt之主线程与子线程通讯(linux下)

    Qt之主线程与子线程通信(linux下) 转载请注明出处:http://blog.csdn.net/feng1790291543 主线程与子线程通信主要是通过Qt上的Gui按钮,触发使得主线程上的信息 ...

  9. 主线程 唤醒_Java等待唤醒机制统计子线程运行时间的方式及其疑问

    我想在主线程中获取子线程运行的时间,一种方式是使用join()方法,经验证是可行的: 但是我想试试等待唤醒机制,思路是:子线程启动后主线程等待,子线程结束后唤醒主线程,但是不太清楚为什么会报错,从运行 ...

  10. 主线程和子线程的关系(讨论主线程结束,子线程是否要回收)

    主线程和子线程,在操作系统里面其实是一样的,没有本质区别.至于主线程结束,子线程是否要回收,下面有两种比较特殊的情况. 第一种: 主线程退出了,子线程还可以执行. 主要是因为pthread_exit函 ...

最新文章

  1. 通过Java代码装配bean
  2. 【实施工程师】Linux怎么查看当前进程
  3. 最新版Scrum指南已发布
  4. Docker容器虚拟化技术---Docker运维管理(Swarm集群管理)3
  5. Mysql的两种存储引擎以及区别
  6. 用计算机用图解法求理论塔板数,用Excel图解法求精馏塔理论塔板数.pdf
  7. 工业设计与钣金工艺是怎么相互相成的
  8. python线性回归预测波士顿房价_预测波士顿的房价|简单的线性回归入门
  9. 计算机按键音乐葫芦娃,Arduino学习笔记—超简单制作音乐(播放葫芦娃)
  10. 济南2022年全面实行电子劳动合同,爱签电子合同为HR赋能增效
  11. python 框架 scrapy_python之框架篇(scrapy)
  12. 网易html5新闻案例,网易新闻:逼死强迫症
  13. 郑州大学“战役杯”第二次比赛题解
  14. dat图片 电脑端微信_微信Dat文件解码,PC微信加密图片解密工具
  15. 面试时,没有谈薪资,叫回去等通知,还有机会吗
  16. jmeter设置参数的方法(随机,读csv等)
  17. Linux设备模型剖析系列之二(uevent、sysfs)
  18. C++ 多态、虚函数、虚方法
  19. Redis递增递减功能
  20. 系统小编分享下Win7系统如何安装打印机

热门文章

  1. 如何获取微信小程序页面路径
  2. 从字符串中提取IP子串(C语言)
  3. uClinux移植与分析(3)
  4. 洛谷-P1425-小鱼的游泳时间
  5. 信号完整性(SI)电源完整性(PI)学习笔记(十四)有损线、上升边退化与材料特性(一)
  6. C#--color颜色对照表
  7. 文本相似度计算(中英文)详解实战
  8. 计算机wold标题文字加背景,office word文档添加背景图片以及背景颜色来美化枯燥乏味的文字...
  9. 扫盲serverless
  10. 用ps增加照片的气氛--镜头光晕