高分求一基础线程有关问题
高分求一基础线程问题
已在另一版块发了一贴,但没人回复,求本版高人看看
http://topic.****.net/u/20100405/15/09571105-0b03-487e-9ad9-5b6736d58fad.html?43797
------解决方案--------------------
线程同步啊,搞个两个事件内核对象,如事件EVENT_A和EVENT_B,两个线程THREAD_1和THREAD_2,
THREAD_1线程函数:
WaitForSingleObject(EVENT_A,INFINITE);
....
SetEvent(EVENT_B);
return 0;
THREAD_2线程函数
WaitForSingleObject(EVENT_B,INFINITE);
....
SetEvent(EVENT_A);
return 0;
------解决方案--------------------
把两个分别作为两个线程的函数,同时如果两个函数之间有数据交换等变量,就需要做成全局变量等..
------解决方案--------------------
学习,友情帮顶!
------解决方案--------------------
看了一下,创建一个线程足够了。
读和写在一个循环内,用一个线程就好了,不明白为什么要2个..
------解决方案--------------------
线程同步有5种方法,如果你不需要线程间通信,用临界区对象就挺好,创建一个临界区对象,只有进入临界区的线程才可以访问共享资源,不用再访问时,就退出临界区,把使用权交还给windows,好让其他线程使用,如果需要线程间通信,用事件内核对象,可以人工或自动设置事件对象是否为受信状态,受信后的线程为可调度的,最后自动设置为未受信状态。这样可以保证在同一时间内,只有一个线程访问共享数据
------解决方案--------------------
WaitForSingleObject
已在另一版块发了一贴,但没人回复,求本版高人看看
http://topic.****.net/u/20100405/15/09571105-0b03-487e-9ad9-5b6736d58fad.html?43797
------解决方案--------------------
线程同步啊,搞个两个事件内核对象,如事件EVENT_A和EVENT_B,两个线程THREAD_1和THREAD_2,
THREAD_1线程函数:
WaitForSingleObject(EVENT_A,INFINITE);
....
SetEvent(EVENT_B);
return 0;
THREAD_2线程函数
WaitForSingleObject(EVENT_B,INFINITE);
....
SetEvent(EVENT_A);
return 0;
------解决方案--------------------
把两个分别作为两个线程的函数,同时如果两个函数之间有数据交换等变量,就需要做成全局变量等..
------解决方案--------------------
学习,友情帮顶!
------解决方案--------------------
看了一下,创建一个线程足够了。
读和写在一个循环内,用一个线程就好了,不明白为什么要2个..
------解决方案--------------------
线程同步有5种方法,如果你不需要线程间通信,用临界区对象就挺好,创建一个临界区对象,只有进入临界区的线程才可以访问共享资源,不用再访问时,就退出临界区,把使用权交还给windows,好让其他线程使用,如果需要线程间通信,用事件内核对象,可以人工或自动设置事件对象是否为受信状态,受信后的线程为可调度的,最后自动设置为未受信状态。这样可以保证在同一时间内,只有一个线程访问共享数据
------解决方案--------------------
WaitForSingleObject