QQ网名大全

Windows下使用C语言按要求写两个多线程的例子

//给你个例子,没写第二个,参照1写2应该很容易的,还有这段代码用全局变量和while循环在线程间交换信息,在可靠性和效率上都是有缺陷的,仅仅当做线程概念的学习。线程的安全同步和通信是三言两语说不清的,你可以网上自行搜索
#include<stdio.h>
#include <conio.h>
#include<Windows.h>
#include <process.h>
char c = 0;
char pA = 0;
char pB = 0;
VOID A(PVOID p) //线程A
{
pA = 1;
while (1)
{
if (c == 'A')
{
pA = 0;
break; //让线程自然结束
}
printf("AAA");
Sleep(1000); //延时1000ms
}
}
VOID B(PVOID p) //线程B
{
pB = 1;
while (1)
{
if (c == 'B')
{
pB = 0;
break;
}
printf("BBB");
Sleep(2000);
}
}
int main()
{
printf("输入小写a启动A,输入大写A结束A\n输入小写b启动B,输入大写B结束B\n");
while (1)
{
c = getch();
if(c=='a'&&pA==0)
_beginthread(A, 0, 0);
if (c == 'b'&&pB == 0)
_beginthread(B, 0, 0);
if (c == '0')
{
break; //进程结束,则隶属于该进程的线程也就结束了
}
}
return 0;
}
佚名
2024-10-05 23:44:18
最佳回答
类似问题(10)
  • 佚名
    2024-10-05 17:45:01

    C语言如何终止线程

    终止线程有三种方法:1.线程可以在自身内部调用AfxEndThread()来终止自身的运行2.可以在线程的外部调用BOOL TerminateThread( H...

  • 佚名
    2024-10-05 18:38:43

    一个C语言线程问题

    可以,用struct

  • 佚名
    2024-10-05 04:21:38

    C语言多线程如何实现?

    线程之间没有共享数据,不需要线程同步你在主函数里面,把线程销毁的太快了,线程都没来得及执行完你就退出了,在创建完线程之后,加个sleep等待几秒再销毁线程。同时...

  • 佚名
    2024-10-05 05:27:21

    在Linux环境下用C语言创建一个父线程,三个子线程,怎么编呢?

    int i = 0;for (; i<3; i++){ if (fork()) { } else { swit...

  • 佚名
    2024-10-05 13:39:12

    C语言如何使用线程池中的某个线程

    问别人问题,还这么牛叉,真心佩服不要给线程派任务,让线程空闲的时候,自己去领任务

  • 佚名
    2024-10-05 09:37:26

    C语言子线程中如何使用主线程的变量

    要么 使用全局变量.要么 在主线程中,通过全局变量,或者消息, 或者建立子线程传参, 总之凡是可行的交互方式都可以, 把主线程中变量的地址传给子线程. 即使用主...

  • 佚名
    2024-10-05 18:13:03

    如何使用visual studio2017编写C语言

    文件菜单的 新建 里头点进去会出现 新建项目 的框左边选择 Visual C++ 项目右边选择 win32 控制台应用程序并在下面起好名字,选好你的项目的文件夹...

  • 佚名
    2024-10-05 08:00:00

    用C语言编写贪吃蛇游戏的程序

    回答:Mr.emily大师6月3日 16:45 #define N 200#include<graphics.h>#include<stdlib.h...

  • 佚名
    2024-10-05 08:00:00

    C语言中>>和<<如何使用?

    C语言中<< 代表左移运算符,>> 代表右移运算符,位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。<< 代表左移...

  • 佚名
    2024-10-05 08:00:00

    您好,有关于C#多线程web程序应用的的例子吗?新手 求助

    你这么写timer控件应该在主线程里的吧,那你对应的取数据操作也在主线程里呀,在取数据的时候就会卡一下。 可以不需要timer控件,我给你段代码,你根据实际情况...