山口です。

助田さん、ご教示ありがとうございます。

> 参照先のドキュメントを確認すれば、 目次の
> 「特異メソッド」の欄に stop があり
> 「インスタンスメソッド」の欄には、stop がない
> ことがわかると思います。

マニュアルを参照する際、特異メッソドとインスタンスメッソドを意識していま
せんでした。
勉強になりました。

>   Thread.stop
> 
> というコードであれば Thread クラスの
> 特異メソッドである stop を実行しようとします。
> この場合は、エラーになりません。

...

>   ssdp.stop
> 
> というコードだと Thread クラスのインスタンスメソッド stop を
> 実行しようとすることになります。
> ですが、Thread にはインスタンスメソッドの stop が存在しない
> ためエラーになります。

理解できました。
ご教示ありがとうございます。

ssdp = Thread.new {
  loop do
    puts "In ssdp thread"
    sleep(3)
  end
}

loop do
  puts "In main thread"
  # ssdp スレッドを、main threadから停止したい場合にはどうすればよい?
  # Thread.stop だと main threadが停止するので、
  sleep(5)
  ssdp.run # ssdp thread再開
end

main threadから、ssdp の thread を停止するには、どのように記述すれば
よいかご教示いただけますでしょうか?