2013-06-11 2 views
0

У меня есть 20 записей, которые я отправил через нить. Каждая запись должна принять новый поток У меня есть application_number и Queue_Id. Номер приложения одинаковый для всех записей, а Queue_Id - другой. Когда я запускаю приложение, он отлично работает для 2-3 записей, после чего 4 записи занимают тот же поток, что и в первой записи. Queue_id отличается для каждой записи.Как избежать тупика: id принимает ту же самую нить вместо новой

Вот мой выход

Application _Number   Queue_ID  Thread_ID 
    **23**      *2*   20 
    **23**      *3*   24 
    **23**      *7*   25 
    **23**      *5*   30 
    **23**      *9*   25 
    **23**      *6*   27 

Жирный указывает: Application_Number
Курсив указывает: queue_id
Normal: thread_id

Для Queu_Id 7 и 9 она принимает ту же нить, вместо того, чтобы новый.

Ваша помощь должна быть оценена. Заранее спасибо

+2

Это действительно поможет нам помочь вам, если вы разместите свой код. – Tim

+2

Также возможно, что очередь 7 была завершена в потоке 25, и когда очередь 9 подошла, поток 25 стал следующим доступным потоком в пуле. – Tim

+0

@Tim Спасибо за ваш ответ. Да, возможно, но дело в том, когда поток завершается, мы отправляем msg, который является уникальным для каждого queue_id, путем доступа к одному и тому же потоку 7 и 9 отправляет тот же самый msg, что он обращается к тому же потоку. –

ответ

0

Не знаете, что вы пытаетесь выполнить или как ваше приложение. работает, но кажется, что вы увидите дубликаты идентификаторов потоков. Если приложение. закодирован в нормальном режиме, должно быть хорошо, чтобы повторно использовать потоки.

Смежные вопросы