怎么才能得实现多线程并发,在程序中有多个线程同时执行

2021-04-15 12:11:13 字数 1375 阅读 7269

1楼:匿名用户

dword winapi threadproc1( lpvoid lpvuser )

{for( int i = 0; i < 5; i++ ){sleep( 1 );//added.

cout<<"1"<实话,实现这个是没有意义的,多线程的并发主要是通过同步手段来实现的。同版步的内权核对象例如,临界区、信号量和互斥量,等。一般是用来对共享资源的保护。

所以,干这种事没有意义,可能您想模拟时间片轮询,当然可以,对于线程默认创建的优先级都是一样的,所以他们确实是按照时间片轮询的方式调度的。为什么,不能输出你想要的结果呢?是因为一个时间片长足以让你的语句输出多次了。

c语言如何实现多线程同时运行

2楼:匿名用户

1、使用pthread库

执行多线程,这个是linux下的线程库 windows下应该有自己的api,不过这种东西一般还是以linux为标准。pthread_create()创建一个线程,传入fun()的函数指针就行了。

2、例程:

#include

#include

#include

#include

#definemax10

pthread_tthread[2];

pthread_mutex_tmut;

intnumber=0,i;

void*thread1()

printf("thread1:主函数在等我完成任务吗?\n");

pthread_exit(null);

}void*thread2()

printf("thread2:主函数在等我完成任务吗?\n");

pthread_exit(null);

}voidthread_create(void)voidthread_wait(void)if(thread[1]!=0)

}intmain()

3楼:幻の奇跡

c11自带多线程库,旧版本的c则要调用对应的系统api或第三方库

多核心cpu在同一时刻真的能同时执行多个线程吗?多核心cpu是真正意义上的多个物理cpu吗?

怎样在c语言中编写多个程序并发执行的程序

4楼:匿名用户

要实现完全的并发执行,在一个cpu下实际上是不可能的所说的并发,都是在同一个时间段内

多个任务开始,交替占用cpu,最终结束。

也就是前一个任务还没结束,后一个任务就开始了,一种并发的形式而已。

所以 要么使用多线程

要么 手动模拟这种多线程。

前者更常用。

怎样在c语言中编写多个程序并发执行的程序

1楼 匿名用户 要实现完全的并发执行,在一个cpu下实际上是不可能的所说的并发,都是在同一个时间段内 多个任务开始,交替占用cpu,最终结束。 也就是前一个任务还没结束,后一个任务就开始了,一种并发的形式而已。 所以 要么使用多线程 要么 手动模拟这种多线程。 前者更常用。 c语言如何创建并发进程 ...

丽水到厦门现在最实惠的路线是,两个人从浙江丽水出发厦门什么路线以及需要多少费用?怎么样最省钱和最快到达呢?两个人去厦门有什么好玩 50

1楼 吕乖乖 丽水坐火车到温州火车站,温州火车站做公交到新火车站,再坐动车到厦门。180左右。 两个人从浙江丽水出发厦门什么路线以及需要多少费用?怎么样最省钱和最快到达呢?两个人去厦门有什么好玩 50 2楼 吕乖乖 我之前去是坐车到温州,再动车去的。一趟200左右。大概5小时左右吧。你可以去找找旅游...