VC6.0 多线程输出乱序问题

今天尝试编写多线程最简单的例子

#include "stdafx.h"
#include "windows.h"
#include <iostream>
using namespace std;

DWORD WINAPI Fun1Proc(LPVOID lpParamer);

int main(int argc, char* argv[])
{
	HANDLE hThread;
	hThread=CreateThread(NULL,0,Fun1Proc,NULL,CREATE_SUSPENDED,NULL);
        ResumeThread(hThread);
        cout<<"Main Thread...."<<endl;
	CloseHandle(hThread);
	Sleep(20);

	return 0;
}

DWORD WINAPI Fun1Proc(LPVOID lpParamer)
{
         cout<<"thread1 is running."<<endl;
         return 0;

}

 但输出结果不是自己想要的,他输出的乱序字符串。更改\MD也不能解决,后来考虑是否是cout的输出问题。结果证实确实是vc6对C++标准支持的不完善。将cout换做printf的输出就没问题。。。

#include "stdafx.h"
#include "windows.h"
#include <iostream>
using namespace std;

DWORD WINAPI Fun1Proc(LPVOID lpParamer);

int main(int argc, char* argv[])
{
	HANDLE hThread;

	hThread=CreateThread(NULL,0,Fun1Proc,NULL,CREATE_SUSPENDED,NULL);
    ResumeThread(hThread);
    printf("Main Thread....");
	CloseHandle(hThread);

	Sleep(20);

	return 0;
}

DWORD WINAPI Fun1Proc(LPVOID lpParamer)
{
   printf("thread1 is running.");
   return 0;

}

  

VC6.0 多线程输出乱序问题

时间: 2024-11-05 22:06:14

VC6.0 多线程输出乱序问题的相关文章

2015-4-2的阿里巴巴笔试题:乱序的序列保序输出(bit数组实现hash)

分布式系统中的RPC请求经常出现乱序的情况.写一个算法来将一个乱序的序列保序输出.例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是:123, 4, 567, 8, 9, 10 上述例子中,3到来的时候会发现4,5已经在了.因此将已经满足顺序的整个序列(3, 4, 5)输出为一行. 1 #include<stdio.h> 2 3 int main() 4 { 5 int num ; 6 while(scanf("%d"

阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出

分布式系统中的RPC请求经常出现乱序的情况. 写一个算法来将一个乱序的序列保序输出.例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是: 1 2 3, 4, 5 6 7, 8, 9, 10 上述例子中,3到来的时候会发现4,5已经在了.因此将已经满足顺序的整个序列(3, 4, 5)输出为一行. 要求: 1. 写一个高效的算法完成上述功能,实现要尽可能的健壮.易于维护 2. 为该算法设计并实现单元测试 貌似效率不是很高,有时间的时候改进下.

DS之顺序表实现乱序输入顺序输出

顺序表的实例有很多,在学其他的编程语言时,肯定都学过要求输入一串乱序的数字,要求进行排序,实现升序或降序输出.今天就来用顺序表实现乱序输入,顺序输出(升序). 实现上述的功能需要用到的顺序表的基本操作有0基本操作前的准备,1初始化顺序表,6向顺序表插入数据元素. 自己只需写一个排序的函数,排序函数的代码为: <span style="font-size:18px;">//排序函数 void paixu(SqList &L) { for(int i=0;i<L.

2016阿里实习笔试:乱序保序输出

thinking: (1)每次选择输出的数字是当前序列中最小的,记该数字下标为 index,数字为a (2)检查index 之后的最小数为b (3)如果index之前有小于b且大于a的数字出现,说明这些数字是乱序的数字,要和a一行保序输出 code: int output_in_order(vector<int> &unordered_sequence) { int next_output = 1, got_output; priority_queue<int, vector&l

乱序序列保序输出

题目: http://blog.csdn.net/michael_kong_nju/article/details/44851495 这是一家互联网公司的笔试题,好像没有说保密协议,应该是可以公开的,我也来贡献一下自己的思路和代码. 分布式系统中的RPC请求经常出现乱序的情况. 写一个算法来将一个乱序的序列保序输出.例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是: 1 2 3, 4, 5 6 7, 8, 9, 10 上述例子中,3到来的

js数组乱序输出 数组乱序排列

网上看的数组乱序输出,要么不合实际,要么代码繁琐.自己试了下,希望能给大家带来帮助. 重要思想也是Math.random*arr.length随机下标,然后删除取到的元素,继续随机下标. //将数组乱序输出 var arr = [1,2,3,4,5,6,7,8,9,10]; var newArr = []; for(var i=0; i<arr.length; i++){ var index = Math.floor(Math.random()*arr.length);//随机下标 newArr

AS3.0 扑克牌乱序排列法洗牌

package { /* *@ClassName:package::PokerMain *@Intro:这是一个初始化1-52扑克牌,然后进行乱序排列进行洗牌: *@Author:非若 *@Date:2015.07.22 *@LanguageVersion:ActionScript 3.0 * */ import flash.display.Sprite; public class PokerMain extends Sprite { //设置扑克牌总数 private var NUM:Numb

关于随机数列,对给定数目的自0开始步长为1的数字序列进行乱序。(可用作洗牌)

1 /** 2  * 数组乱序类 3  * @author noam  4  */ 5 public class NRandom { 6  7     /** 8      * 对给定数目的自0开始步长为1的数字序列进行乱序 9      * @param no 给定数目10      * @return 乱序后的数组11      */12     public static int[] getSequence(int no) {13         int[] sequence = new 

clumsy 0.1 测试工具(延迟\掉包\节流\重发\乱序\篡改)

clumsy : http://jagt.github.io/clumsy/可以模拟以下几种场景: 延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况. 掉包(Drop),随机丢弃一些数据. 节流(Throttle),把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去. 重发(Duplicate),随机复制一些数据并与其本身一同发送. 乱序(Out of order),打乱数据包发送的顺序. 篡改(Tamper),随机修改小部分的包裹内容.