Есть несколько потоков которые создаются из основного потока.
В этих потоках порождаются асинхронные операции по завершению которых хотелось бы знать из какого потока они были вызваны.
Т.е. допустим у нас создано 3 потока с threadid = 1,2,3 в каждом была вызвана асинхорнная операция которая выполняется в своем потоке и если по завершению асинхронной операции в asyncallback посмотреть Thread.CurrentThread то этот поток будет из пула потоков и у него естественно свой threadid отличный от основных. Так вот — как можно добраться до потока который инициировал асинхронный запрос.
Здравствуйте, Аноним, Вы писали:
А>Есть несколько потоков которые создаются из основного потока. А>В этих потоках порождаются асинхронные операции по завершению которых хотелось бы знать из какого потока они были вызваны.
А>Т.е. допустим у нас создано 3 потока с threadid = 1,2,3 в каждом была вызвана асинхорнная операция которая выполняется в своем потоке и если по завершению асинхронной операции в asyncallback посмотреть Thread.CurrentThread то этот поток будет из пула потоков и у него естественно свой threadid отличный от основных. Так вот — как можно добраться до потока который инициировал асинхронный запрос.
Задача некорректно поставлена. Поток, создавший данный, мог давно закончиться, а новый поток с тем же ID мог быть создан.
ИМХО тут надо как-то передать в запрос некий параметр, так, чтобы потом получить в фунции завершения. Что-то, видимо, с IAsyncResult,AsyncState