{{notification.text}}

MirGames

mov, просто mov
01.05.07 17:52
0
Собственна нужно реализовать мультипаточность, наткнулся на неточность.
В CreateThread передаёться параметр lpStartAddress в нём как я понимаю должна быть ссылка на функцию где будеть происходить вся работа потока.
Но как будет ссылаться поток к внешним переменным ?
допустим я создам вне потока обьект(TObject) а потом в созданом мною потоке я вызову метод этого обьекта, что при этом произойдёт, обращение к патоку который создал обьект или просто обращение к памяти ?
#1
аксакал
01.05.07 19:46
0
Что значит обращение к потоку? )
#2
mov, просто mov
01.05.07 20:47
0
XProger
если я обращусь к обьекту созданному в другом патоке то действие перейдёт из моего потока в поток где создавался обьект или просто мой паток обратиться к памяти где лежит обьект ?
#3
Mirage
01.05.07 21:45
0
Поток это грубо говоря последовательность инструкций процессору, а не область памяти. Память всех потоков (рамках одного процесса) общая. А информация о том, в каком потоке какой объект создавался, вообще нигде не хранится.
Если потоки зачем-то сам создаешь, а не через TThread, то не забудь менеджер памяти в многопоточный режим перевести - IsMultiThread в True установить то бишь.
#4
01.05.07 22:53
0
Для потоков есть неплохие компоненты в инди. рекомендую пользоваться ими, иначе, если раньше с потоками не работал будет много проблем :) Причем такие проблемы что сразу и не вычислишь их :))
#6
mov, просто mov
02.05.07 00:45
0
Mirage
ты что думаеш что поток это есть TThread в винде и других пердставлений у него нет ?
там всё на WAPI написано, а цеплять TThread к проге кода важен размер - оч плохо
приходиться писать на API
а менежер памяти у меня свой :)
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}