sách gpt4 ai đã đi

multithreading - 如何在Scala中理解 “new {}”语法?

In lại 作者:行者123 更新时间:2023-12-03 13:16:01 27 4
mua khóa gpt4 Nike

我正在学习Scala多线程编程,并通过引用教程来编写一个简单的程序:

object ThreadSleep extends App {
def thread(body: =>Unit): Thread = {
val t = new Thread {
override def run() = body
}
t.bắt đầu()
t
}
val t = thread{println("New Therad")}
t.join
}

我不明白为什么要在 {}语句中使用 new Thread {}。我认为应该是 new Threadhoặc new Thread()。我如何理解这种语法?

这个问题没有完全重复到 this one,因为我的问题的重点是“ new {}”的语法。

1 Câu trả lời

Đây là

new Thread() { ... } 

这称为 匿名类,其工作方式与在JAVA中类似:
您在这里使用覆盖的 chạy方法创建一个新线程。这很有用,因为仅使用一次就不必创建特殊类。
需要确认,但是您可以覆盖,添加,重新定义所需的每个方法或属性。

有关更多详细信息,请参见此处: https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html

关于multithreading - 如何在Scala中理解 “new {}”语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30096115/

27 4 0
Bài viết được đề xuất: Chia sẻ biến đúng cách giữa các luồng (.NET/VB.NET)
Bài viết được đề xuất: multithreading - F# Winforms 图表异步更新
Bài viết được đề xuất: multithreading - perl:在不按 “enter”的情况下不会退出
Bài viết được đề xuất: multithreading - Perl线程递增变量
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com