こんばんは。

C#及びマルチスレッドの処理の素人です。
知恵を貸してください。

スレッドタイマーで500msごとに繰り返し呼ばれる処理Aがあります。

Aの処理時間が500ms以上かかることがあります。
その場合に、
次のA呼び出しを待たせる、または呼ばない方法はあるでしょうか?

lockでいけるかとおもったのですが、同じスレッドだと待たせられないとのことで
困っております。