Russian Qt Forum
Ноябрь 22, 2024, 22:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 3 [4]   Вниз
  Печать  
Автор Тема: Процесс замерзает при работе интерфейса  (Прочитано 22990 раз)
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #45 : Ноябрь 15, 2014, 18:59 »

Нифига!
Странно вы читает. Улыбающийся
Я не большой знаток английского, но эту фразу перевел бы так:

Цитировать
Begins execution of the thread by calling run()
Начинает выполнение нить в которой выполняется run.

А про разрушение нити говорится здесь:
Цитировать
Returning from this method will end the execution of the thread.
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #46 : Ноябрь 15, 2014, 19:08 »

Нифига!
Странно вы читает. Улыбающийся
Я не большой знаток английского, но эту фразу перевел бы так:

Цитировать
Begins execution of the thread by calling run()
Начинает выполнение нить в которой выполняется run.

А про разрушение нити говорится здесь:
Цитировать
Returning from this method will end the execution of the thread.


А я знаток. На самом деле. Английский начал учить в 7 лет. На последней работе выпускал техническую документацию на своё же ПО на английском языке для экспорта, переводчик только помогала переварить объемы, несколько сотен страниц. Как эксперт гарантирую - фраза "Begins execution of the thread by calling run()" переводится так: "Начинает выполнение нити вызывая run()" и никак иначе. Фраза "Returning from this method will end the execution of the thread." переводится однозначно "Возврат из этого метода закончит выполнение нити". Про разрушение (destruction, severance) ни слова.
« Последнее редактирование: Ноябрь 15, 2014, 19:10 от Гурман » Записан

2^7-1 == 127, задумайтесь...
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #47 : Ноябрь 15, 2014, 19:56 »

Цитата: Гурман
Проблема была в том, что в документации QThread не указано, что каждый последовательный запуск создает новую нить, с новым ID, а не использует предыдущую.

Эмм.. если поток в данный момент есть "is running" то QThread::start() ничего не создаст.

PS: Тред не читал и не вникал об чем спор. Улыбающийся
PS: И прежде чем выдвигать какие-то гипотезы о том что так оно работает или не так - возьмите и посмотрите сорцы (обращаюсь ко всем, так, к слову, чтобы не разводить тонны флуда). Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #48 : Ноябрь 15, 2014, 20:07 »

Цитата: Гурман
Проблема была в том, что в документации QThread не указано, что каждый последовательный запуск создает новую нить, с новым ID, а не использует предыдущую.

Эмм.. если поток в данный момент есть "is running" то QThread::start() ничего не создаст.


Так нигде и не написано, что start() что-либо создает. Наоборот, написано, что он начинает выполнение, что подразумевает выполнение созданного ранее. Но фактически, если нить не выполняется, то start() создаёт новую.
« Последнее редактирование: Ноябрь 15, 2014, 20:26 от Гурман » Записан

2^7-1 == 127, задумайтесь...
Страниц: 1 2 3 [4]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 23.