![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
	 | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Добрый вечер. Подскажите, пожалуйста, со следующим вопросом. Для реализации многопоточности мне нужно, чтобы каждый поток работал со своим одномерным массивом, то есть: первый поток работал с массивом ui1, второй – с ui2, третий – с ui3 и т.д. Поток (PotokNumber) будет работать с массивом uiPotokNumber. Мне нужна Ваша помощь только для кода, представленного ниже. Пожалуйста, не пишите мне, что тут нет многопоточности: я это знаю. Спасибо Вам за помощь. 
		
	
		
		
		
		
		
		
			Мне нужно реализовать код, чтобы он выполнял примерно следующие действия: Вызов процедуры обязательно должен быть в цикле. Код: 
	for k:=1 to PotokNumber do begin procedure Pro (k, ui^[k]); for j:=1 to 10 do OldMas[j]:=ui^[k] [j]; end; procedure Pro (a:integer; var New^[а]:arrptr); var l:integer; begin for l:=1 to 10 do New^[а][l]:=l/2 end; lmikle: Используем ПРАВИЛЬНЫЕ теги! Последний раз редактировалось lmikle, 09.12.2012 в 02:48.  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Не совсем понял в чем вопрос. 
		
	
		
		
		
		
		
	
		
		
	
	
	Пусть у тебя N массивов, каждый из которых должен обрабатываться отдельным потоком. Тогда просто для описания из можно объединить в массив порядка+1 (если исходные массивы одномерные, то в двухмерный). Далее в каждый поток просто передаешь ссылку на этот массив и индекс нужного подмассива. Большая проблема дождаться окончания всех потоков...  |