Czy 2 wątki mogą jednocześnie odwołać się do tej samej metody?

0

Cześć, mam pytanie :)
Mój kod wygląda mniej więcej tak:

private void error(string thread, string kod)
{
	int startPos = kod.LastIndexOf("error_code\":") + ("error_code\":").Length;
	 int length = kod.IndexOf(",\"error_msg") - startPos;
	int err_code;
	int.TryParse(kod.Substring(startPos, length), out err_code);
	if (err_code == 1)
	{
		...
	}
	return;
}

private void thread1()
{
	...
	if (kod.Contains("error_code\":")
		error("thread1", kod);
	...
}

private void thread2()
{
	...
	if (kod.Contains("error_code\":")
		error("thread2", kod);
	...
}

A pytanie brzmi następująco, czy 2 wątki mogą w tej samej chwili odwołać się do tej samej metody? Jeżeli nie, to jak mogę coś takiego osiągnąć?

3

Jeśli nie ma tam jakiejś synchronizacji która by to wykluczała z jakiegoś powodu, to oczywiście że mogą.

2

Upraszczając można o tym myśleć tak, że każdy wątek ma swoją kopię kodu. Więc jeśli nie używasz w metodzie zmiennych globalnych, albo ogólnie zasobu spoza metody (np. zmiennej prywatnej klasy), to metodę można bez obaw używać z różnych wątków.

1 użytkowników online, w tym zalogowanych: 0, gości: 1