z****u 发帖数: 104 | 1 一个系统里面有多个线程, 其中一个线程想终止另外一个线程, 该怎么实现?
考古了一下,没有找到讨论;哪个高手能展开说一说,碰到这个问题应该怎么回答 |
b******i 发帖数: 423 | 2 哪里
【在 z****u 的大作中提到】 : 一个系统里面有多个线程, 其中一个线程想终止另外一个线程, 该怎么实现? : 考古了一下,没有找到讨论;哪个高手能展开说一说,碰到这个问题应该怎么回答
|
C***U 发帖数: 2406 | 3 可以message pass吧
【在 z****u 的大作中提到】 : 一个系统里面有多个线程, 其中一个线程想终止另外一个线程, 该怎么实现? : 考古了一下,没有找到讨论;哪个高手能展开说一说,碰到这个问题应该怎么回答
|
h*****1 发帖数: 435 | 4 invoke Systerm call to terminate the other one |
C***U 发帖数: 2406 | 5 我以为他问的是实现机制
【在 h*****1 的大作中提到】 : invoke Systerm call to terminate the other one
|
C***U 发帖数: 2406 | 6 if you want the first thread invoke system call to terminate the second
thread, I think the first thread need know the thread ID and some other
information.
【在 h*****1 的大作中提到】 : invoke Systerm call to terminate the other one
|
l*****a 发帖数: 14598 | 7 Create a global Event, the second thread can wait for the event ,when the
event is being set, it can call its termination code.
the first thread just need to set the Event.
【在 z****u 的大作中提到】 : 一个系统里面有多个线程, 其中一个线程想终止另外一个线程, 该怎么实现? : 考古了一下,没有找到讨论;哪个高手能展开说一说,碰到这个问题应该怎么回答
|
c*********g 发帖数: 20 | |
z****u 发帖数: 104 | 9 using some kind of global variable or semaphore?
【在 c*********g 的大作中提到】 : Message Pass
|
f*******t 发帖数: 7549 | 10 这题大概是考你知道几种方法。
只要有win系统的thread handle,或者*nix系统的pthread id,就可以通过系统调用结
束指定线程。
message passing也是一种标准做法。
global variable虽然work,但应该不太好。 |
z**********3 发帖数: 11979 | 11 可以pthread——kill(pthread_t tid, int signal)
win没有signal机制 可以通过asynchronous procedure call
还可以扯扯直接杀和deferred杀的优劣 |